Fra*_*ser 2 javascript sql cordova
我一直在搜索,但没有找到答案.
Javascript中是否有类似于PHP的函数在mysql_real_escape_string
将它们写入WebSQL数据库之前进行安全的用户输入?
如果没有,有没有人知道我可以使用的定制功能?
更新:所以似乎没有本机功能,所以我写道:
function sql_real_escape_string(val){
var val = val.replace('"','"');
val = val.replace('\'','’');
return val;
}
Run Code Online (Sandbox Code Playgroud)
我应该替换其他任何角色以保证安全吗?
在插入数据库时处理用户输入的最佳答案是使用参数化.Web SQL API支持:
var db = openDatabase('mydb', '1.0', 'my database', 2 * 1024 * 1024);
db.transaction(function (tx) {
tx.executeSql('INSERT INTO foo (id, text) VALUES (?, ?)', [id, userValue]);
});
Run Code Online (Sandbox Code Playgroud)
而不是这个:
db.transaction(function (tx) {
tx.executeSql('INSERT INTO foo (id, text) VALUES (1, "user-entered value")');
});
Run Code Online (Sandbox Code Playgroud)