ホームページ  >  記事  >  バックエンド開発  >  PHP がページ キャッシュを無効にする出力_PHP チュートリアル

PHP がページ キャッシュを無効にする出力_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:37:22803ブラウズ

マジック引用符は、PHPer にとってよくある質問です。今日偶然見かけた記事と、PHPマニュアルとその返信を合わせて簡単にまとめてみます。

つまり、Magic quotes をオンにすると、入力されたデータが自動的にエスケープされます。このうち、一重引用符 ()、二重引用符 (")、バックスラッシュ、および NULL 文字はすべてエスケープされます (バックスラッシュが追加されます)。実際、この操作は基本的に addslashes 関数を呼び出します。

マジック引用符を使用する理由
便利で速い
PHP の設計者は、設計の初めに、高速で便利なプログラミングを想像していました。たとえば、データベースに挿入する場合、Magic quotes は自動的にデータをエスケープします。これは非常に便利です。

初心者に最適
魔法の引用符を使用すると、初心者をスクリプトのセキュリティ リスクからある程度取り除くことができます。たとえば、保護手段のないコードでは、マジック引用符を有効にすると、インジェクションの問題などのリスクが大幅に減少します。もちろん、この方法だけではこうしたセキュリティ上の問題を完全に防ぐことはできません。

「閉じる権限がありません」
もちろん、この問題に気づいているかもしれませんが、ホスト スペースは完全に制御できるわけではありません。

マジック引用符を使用しない理由
移植性
この機能がオンになっているかどうかに関係なく、その後のデータのフィルタリング操作に影響を与えるため、スクリプトの移植性に影響します。

パフォーマンスの問題
すべての外部データは取得前にエスケープされるため、間違いなく実行時のコストが増加します (すべてのデータをエスケープする必要があるわけではありません)。

混乱の原因
上で述べたように、すべてのデータをエスケープする必要があるわけではありません。発生する可能性のある状況の 1 つは、エスケープされていないデータを取得するためにストリップスラッシュ関数「crazy」を使用する場合です。

PHP6 はサポートされなくなりました
PHP の設計者は明らかに自分たちの「間違い」に気づいたので、PHP6 でそれを非推奨にしました。

マジック引用符を無効にする方法
私の意見では、php.ini 設定ファイルを使用してマジック引用符をグローバルに無効にするのが最も確実です。以下のコードを参照してください

; マジック クォート;; 受信 GET/POST/Cookie データのマジック クォート。magic_quotes_runtime = Off; SQL からのデータなど、実行時に生成されるデータ。 quotes ( の代わりにエスケープします).magic_quotes_sybase = Off ただし、オンラインホストでは php.ini ファイルの変更が許可されていない場合があるため、.htaccess ファイルを使用して無効にし、次のコードを追加できます

php_flag magic_quotes_gpc Off 上記の移植可能なコードの場合、magic_quotes が無効かどうかに関係なく、データの一貫性が維持される必要があります。以下のコードが役に立ちます

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/486594.html技術記事マジック クオートは、PHPer にとってよくある質問です。今日偶然見かけた記事と、PHPマニュアルとその返信を合わせて簡単にまとめてみます。 要するに…
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。