ホームページ  >  記事  >  バックエンド開発  >  PHP の自動エスケープの問題に関しては、構成内の magic_quotes_gpc からの歴史的な問題が残っています。

PHP の自動エスケープの問題に関しては、構成内の magic_quotes_gpc からの歴史的な問題が残っています。

WBOY
WBOYオリジナル
2016-08-08 09:25:121782ブラウズ

今日、私の友人のウェブサイトに別の問題が発生しました(新しいスペースに移動したばかりのさまざまな問題のため)ので、問題を確認したところ、phpがデータをデコードしていることがわかりました

これは非常に奇妙だったので、ローカルでテストしましたが、問題はありませんでした。その後、オンラインで確認したところ、デコードに必要な形式が非常に厳密であることがわかりました

少しでも不正確であっても、動作しません。ので、 var_dump でデータを入力したところ、エスケープされていることがわかりましたが、問題はありません。

1. 次に、最初のテストを実行しました

データ (var_dump によって出力され、コピーされたデータ) を直接デコードしました。結果は OK でした。 (ローカルネットワークでも外部ネットワークでも可)

2. データデコードを直接取得

結果はNULLと表示される

これはなぜだろう。 。 。 。 。

php のバージョンがアップグレードされるたびに、内容が変更されたかどうかはほとんど気にせず、せいぜい最新バージョンをダウンロードするくらいです。これは本当に悪い習慣です

ははは。もうやらない、私のWin PHPは5.3、Macは5.6、外部サーバーは5.2、合計3つのバージョン

そこで、PHPのバージョンの問題ではないかとしばらく考えました(ローカルで使用できるため)

オンラインで確認したところ、確かに、php.iniにmagic_quotes_gpcオプションがあり、それがONになっていることがわかります

。オプションはユーザー入力コンテンツをエスケープします。 php5.4 バージョンが削除された後、変更手順は次のとおりです

1. php.ini

の場所を見つけます。 3. NO をオフに変更します

4. サーバーを再起動します

すべて問題ありません。

上記では、PHP の自動エスケープの問題と、magic_quotes_gpc が設定に残した歴史的問題について、関連する内容を含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。