2

私は周りを検索しましたが、これに対する答えは見つかりませんでした。

mysql_real_escape_stringWebSQLデータベースに書き込む前に安全なユーザー入力を行うために、PHPに似たJavascriptの機能はありますか?

そうでない場合、私が使用できるカスタムメイドの機能を知っている人はいますか?

更新:ネイティブ関数がないように思われるので、次のように書いています。

function sql_real_escape_string(val){
    var val = val.replace('"','"');
    val = val.replace('\'','’');
    return val;
}

安全のために置き換える必要がある他のキャラクターはいますか?

4

1 に答える 1

5

データベースに挿入するときにユーザー入力を処理するための最良の答えは、パラメーター化を使用することです。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]);
});

これの代わりに:

db.transaction(function (tx) {
  tx.executeSql('INSERT INTO foo (id, text) VALUES (1, "user-entered value")');
});
于 2012-07-22T02:12:08.383 に答える