0

適切にサニタイズされていないコードがたくさんあります。最良の方法は変数をバインドすることです。このページhttp://php.net/manual/en/function.mysql-escape-string.phpには、mysql_escape_stringは使用されるべきではないと記載されています(私は5.3.2を使用しています)。すべて。

5.3.0以降のバージョンでは、mysql_escape_stringはまったく機能しませんか?

編集:バインディングが最善の方法であることは理解していますが、サニタイズする必要のある古いコードがたくさんあります。したがって、mysql_escape_stringを使用すると、まったく機能しなくなりますか?役に立たないですか?

4

1 に答える 1

2

最適なオプションは、PDO などで準備済み/パラメーター化されたクエリを使用することです。よりネイティブな方法で MySQL とやり取りしたい場合は、MySQLi も使用できます。パラメーター化されたクエリでは、データは SQL とは無関係に送信されるため、SQL インジェクションに関する限り本質的に安全です。

mysql_escape_string()あなたが直接の代わりを探しているなら、それはmysql_real_escape_string(). ドロップインの代替品であり、セキュリティを気にする場合は使用する必要があります.

于 2012-11-26T20:49:17.920 に答える