0

set_magic_quotes_runtime() と magic_quotes_runtime() を使用するコードがあります。

それらが非推奨になっていることに気づきました。

これらの機能に重要なセキュリティ上の問題はありますか? それとも、phpバージョン5.3以降で問題なく使えますか?

なぜ廃止されたのですか?

4

2 に答える 2

2

その理由は、SQL ステートメントで値をエスケープするために使用されてきたことを実行する必要があります。問題は、magic_quotes のエスケープ方法が、主に使用されるターゲットである MySQL に対して正しくないことです。これは、セキュリティ ホールにつながる可能性があります。

それに加えて、悪いプログラミング手法を強制します。PHP コードを作成する場合は、現在の php.ini 値を確認し、マジック クォートを元に戻して、マジック クォートがオンまたはオフのどちらの場合でもコードが一貫して機能することを確認する必要があります。

この機能は廃止され、実際には機能しなくなりました。

クエリを適切にエスケープしたい場合は、MySQLi または PDO のプリペアド ステートメントを調べてください。

編集ウィキペディアのページさえあることが判明しました! http://en.wikipedia.org/wiki/Magic_quotes

于 2013-07-01T17:21:52.830 に答える
1

文字列に引用符を入れる可能性をすべて管理しているわけではありません。

于 2013-07-01T17:21:16.263 に答える