データベースからselectinを実行するときに "\"とエスケープの兆候はありませんか?

私はdbとの入力をエスケープしています:

mysql_real_escape_string()

私が入力した場合:

"Let's see"

DBから選択すると、

"let\'s see"

これをどうやって防ぐのですか?私はまずフォームに書いて、それをAJAXで.phpファイルに送信し、それを mysql_real_escape_string()などでエスケープします。

2
魔法の引用符を有効にすることができます。
追加された 著者 nickb,
データをデータベースに挿入するために使用しているコードを投稿してください。
追加された 著者 Mark Byers,

2 答え

マジッククオートがオンになっているようですが、これは素晴らしい方法ですユーザーのデータを修復可能以上に破損させる可能性があります。 グローバルを登録する良いアイディアだった。

代わりに準備文を使用してください。これはあなたのデータを悪用することはなく、攻撃者があなたのデータベースを悪用することはありません。

2
追加された

なぜそれがそれを修正していないのかはわかりませんが、データベースから何かを選択すると、 stripslashes()を使用してそれを通常の状態に戻すことができます。

$str = "Let\'s see";
stripslashes($str);
echo $str;

出力しますか?

見てみましょう

1
追加された
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com