この記事では、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 には存在しない可能性があります。 |