Java 如何防止应用程序引擎JDO中的SQL注入
请帮忙 如何在插入JDO时防止SQL注入 我的JDO类是MyData.JavaJava 如何防止应用程序引擎JDO中的SQL注入,java,google-app-engine,jdo,Java,Google App Engine,Jdo,请帮忙 如何在插入JDO时防止SQL注入 我的JDO类是MyData.Java package com.jdo; import java.util.Date; import javax.jdo.annotations.PersistenceCapable; import javax.jdo.annotations.Persistent; import javax.jdo.annotations.PrimaryKey; import javax.jdo.annotations.IdentityT
package com.jdo;
import java.util.Date;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
import javax.jdo.annotations.IdentityType;
@PersistenceCapable(identityType = IdentityType.APPLICATION,detachable="true")
public class MyData{
@PrimaryKey
@Persistent
private String id;
@Persistent
private String name;
@Persistent
private String address;
@Persistent
private Date addedDate;
/**
*
* @param id
* @param name
* @param address
*/
public MyData(String id,String name,String address) {
super();
this.id=id;
this.name=name;
this.address=address;
this.addedDate = new Date();
}
/**
* @return id
*/
public String getId(){
return this.id;
}
/**
*
* @return name;
*/
public String getname(){
return this.name;
}
/**
*
* @return addedDate
*/
public Date getAddedDate(){
return this.addedDate;
}
/**
*
* @param id
*/
public void setId(String id){
this.id=id;
}
/**
*
* @param name
*/
public void setName(String name){
this.name=name;
}
/**
*
* @param addedDate
*/
public void setaddedDate(Date addedDate){
this.addedDate=addedDate;
}
}
我试着用
MyData user=new MyData ("id001","Shana","Address");
user=MyDataDAO.saveData(user);
它已成功保存在表中。但我需要阻止它进行SQL注入…请提供帮助?当您通过将纯文本字符串与SQL字符串连接起来创建查询时,会发生SQL注入 你不必担心
上面的代码看起来属于第2类。如果使用得当,您确定框架不会阻止SQL注入吗?您使用的是云SQL还是数据存储?因为后者甚至不使用SQL,所以注入也不是问题。所以没有上面提到的SQL…正如后面提到的O/P,使用GAE/Datastore,所以甚至没有SQL数据存储