ホームページ  >  記事  >  バックエンド開発  >  PHPのget_magic_quotes_gpc()関数

PHPのget_magic_quotes_gpc()関数

WBOY
WBOYオリジナル
2016-07-25 08:58:14804ブラウズ
この記事では、PHP の文字エスケープに関連する関数と get_magic_quotes_gpc() 関数の関連知識を紹介します。必要な方は参考にしてください。

PHP 組み込み関数 get_magic_quotes_gpc() は、php.ini 設定の magic_quotes_gpc オプションの値を取得します。

magic_quotes_gpc オプション: magic_quotes_gpc=On の場合、PHP パーサーは post、get、cookie からのデータにエスケープ文字 "" を自動的に追加し、これらのデータがプログラム、特に特殊文字による汚染によってデータベース ステートメントで致命的な問題を引き起こさないようにします。間違い。

magic_quotes_gpc=On の場合、入力データに次のものが含まれる場合: シングルクォーテーション(’)、ダブルクォーテーション(”)、バックスラッシュ()、NUL(ヌル文字)などの文字はバックスラッシュとなります。 これらのエスケープは必須です。このオプションがオフの場合は、addslashes 関数を呼び出して文字列にエスケープを追加する必要があります。

このオプションはオンでなければならないという矛盾があるため、ユーザーが設定することもできます。このオプションは PHP6 では削除されており、すべてのプログラミングは magic_quotes_gpc=Off で実行する必要があります。 このような環境では、ユーザーのデータがエスケープされない場合、その結果はプログラム エラーだけではありません。 これにより、データベース インジェクション攻撃のリスクが発生します。

php6 の到着を歓迎するために、今後このオプションがオンになることに依存しないでください。

magic_quotes_gpc=On の場合、関数 get_magic_quotes_gpc() は 1 を返します。 magic_quotes_gpc=Off の場合、関数 get_magic_quotes_gpc() は 0 を返します。 したがって、get_magic_quotes_gpc() 関数を使用して、環境変数 magic_quotes_gpc の値を取得します。

ただし、magic_quotes_gpc オプションは PHP6 で削除されたため、この関数は php6 には存在しない可能性があります。



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