0

PHP でマジック クォートをオフにしようとしていますが、無効にできません。/usr/local/lib/php.ini で以下を設定し、Apache を再起動しましたが、違いはありません。

; Magic quotes

; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off

; Use Sybase-style magic quotes (escape ' with '' instead of \').
magic_quotes_sybase = Off

phpinfo は、これらがすべて Off に設定されていることを確認します。

magic_quotes_gpc Off Off
magic_quotes_runtime Off Off
magic_quotes_sybase Off Off

次に追加してみました

php_flag magic_quotes_gpc off 

htaccess に接続しますが、500 内部サーバー エラーが発生します。

サーバーは CPanel/WHM で Centos 5.8 64 ビットを実行しており、フロント エンドは、バックグラウンドでカスタム PHP アプリケーションを使用する Wordpress です。PHP のバージョンは 5.3.18 で、読み込まれた構成ファイルは /usr/local/lib/php.ini です。

機能していないと思う理由は、データベースに追加する前に、mysql_real_escape_string、addslashes、および htmlspecialchars が適用された MySQL から取得された次のメッセージです。

元のメッセージは次のとおりです。

This is a "how to" question. I don't think it is covered in the notes - sorry if I've missed it. 

次のように MySQL に追加されます。

This is a "how to" question. I don\'t think it is covered in the notes - sorry if I\'ve missed it.

その後、画面に表示されると、次のように表示されます。

This is a \\"how to\\" question. I don\\\'t think it is covered in the notes - sorry if I\\\'ve missed it. 

これにストリップスラッシュを適用すると、次のようになります。

This is a \"how to\" question. I don\'t think it is covered in the notes - sorry if I\'ve missed it. 

私は何を間違っていますか、または他に何を試すことができますか?

4

1 に答える 1

0

\"マジッククォートやaddslashes()の結果ではありません。

\"さらに、二重引用符をスラッシュで置き換え、単一引用符をスラッシュでエスケープする標準の PHP 引用符関数は考えられません。コードにさらに深刻な問題があります。

于 2013-02-07T13:49:45.937 に答える