ホームページ > バックエンド開発 > PHPチュートリアル > PHP_PHPチュートリアルに基づいたmagic_quotes_gpcの使い方を詳しく解説

PHP_PHPチュートリアルに基づいたmagic_quotes_gpcの使い方を詳しく解説

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-07-21 15:03:54
オリジナル
786 人が閲覧しました

PHP magic_quotes_gpc は主に WEB クライアントサーバー上で動作します。 次に、その使用方法を詳しく説明します。
AD:
今日紹介したいのは、PHPのmagic_quotes_gpcの具体的な使い方です。 PHP には特別な関数マジック関数があることは誰もが知っています。これは、参照プロセス中に $_GET、$_POST、$_COOKIE が渡された場合にのみ有効になります。
•PHP関数preg_splitの正しい使い方
•PHP関数explode()の具体的な使い方の解釈
•PHP関数implode()関数とexplode()関数の違い
•PHPライクなCMSがキーワードを自動的に取得する方法
• PHP 正規表現を使用して関数 split() を分割する方法について話し合います

1.
条件: PHP magic_quotes_gpc=off
データベースに書き込まれる文字列は、いかなる方法でもフィルタリングされません。データベースから読み取られた文字列は一切処理されません。
データ: $data="snow"''sun"; (snow と sun の間には 4 つの連続した単一引用符があります)
操作: 文字列: "snow"''sun" をデータベースに書き込みます、
結果: SQLステートメント エラーが発生しました。MySQL は SQL ステートメントを正常に完了できず、データベースへの書き込みに失敗しました。
データベース保存形式: データがありません。
出力データ形式: データなし。
注: 未処理の一重引用符は、データベースに書き込まれるときに SQL ステートメント エラーを引き起こします。

2.
条件: PHP magic_quotes_gpc=off
データベースに書き込まれた文字列は、関数 addlashes() によって処理されます。データベースから読み取られた文字列は一切処理されません。
データ: $data="snow"''sun"; (snow と sun の間には 4 つの連続した単一引用符があります)
操作: 文字列: "snow"''sun" をデータベースに書き込みます、
結果: SQLステートメントはスムーズに実行され、データはデータベースに正常に書き込まれます
データベース保存形式: Snow”''sun (入力と同じ)
出力データ形式: Snow”''sun (入力と同じ)
命令: addslashes()関数は一重引用符を変換します エスケープ文字が ' に変換されると SQL ステートメントは正常に実行されますが、 ' はデータベースにデータとして保存されません。データベースは、snow''''sun を保存しますが、snow''''sun は保存しません。想像

3.条件: PHP magic_quotes_gpc=on

データベースに書き込まれた文字列は、いかなる方法でも処理されていません。データベースから読み取られた文字列は一切処理されません。
データ: $data="snow"''sun"; (snow と sun の間には 4 つの連続した単一引用符があります)
操作: 文字列: "snow"''sun" をデータベースに書き込みます、
結果: SQLステートメントはスムーズに実行され、データはデータベースに正常に書き込まれます
データベース保存形式:snow””sun (入力と同じ)
出力データ形式:snow””sun (入力と同じ)
手順: PHP magic_quotes_gpc= on 一重引用符を設定します エスケープ文字が ' に変換されると、SQL ステートメントは正常に実行されますが、
ただし、 ' はデータとしてデータベースに入力されず、データベースは、snow''''sun の代わりに、snow''''sun を保存します。私たちは想像しました

4.条件: PHP magic_quotes_gpc=on

データベースに書き込まれた文字列は、関数 addlashes() によって処理されます。データベースから読み取られた文字列は一切処理されません。
データ: $data="snow"''sun"; (snow と sun の間には 4 つの連続した単一引用符があります)
操作: 文字列: "snow"''sun" をデータベースに書き込みます、
結果: SQLステートメントはスムーズに実行され、データはデータベースに正常に書き込まれました
データベース保存形式: Snow''''sun (エスケープ文字を追加)
出力データ形式: Snow''''sun (エスケープ文字を追加)
手順: PHP magic_quotes_gpc=on は、SQL ステートメントが正常に実行できるように、一重引用符を ' エスケープ文字に変換します。
addslashes は、データベースに書き込もうとしている一重引用符を ' に変換します。後者の変換は、
データベースにデータとして書き込まれます。データベースは雪を保存します''''太陽

概要は次のとおりです:
1. PHP magic_quotes_gpc=on の場合、

データベースから入力および出力される文字列データに対して
addslashes() およびtripslashes() 操作を実行することはできません。データは正常に表示されます。
この時点で入力データに対してaddslashes()を実行する場合、
出力時にstripslashes()を使用して余分なバックスラッシュを削除する必要があります。

2. PHP magic_quotes_gpc=off の場合
addslashes() を使用して入力データを処理する必要がありますが、addslashes() はバックスラッシュを書き込まないため、出力をフォーマットするためにstripslashes() を使用する必要はありません。これは、mysql が SQL ステートメントの実行を完了するのに役立つだけです。

補足:
PHP magic_quotes_gpc のスコープは: WEB クライアント サーバー、アクション時間: リクエストの開始時 (スクリプトの実行時など)。
magic_quotes_runtime スコープ: ファイルから読み取られたデータ、または exec() の実行結果、または SQL クエリから取得されたデータ アクション時間: 実行状態で生成されたデータにスクリプトがアクセスするたび


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/327805.html技術記事 PHPのmagic_quotes_gpcは主にWEBクライアントサーバー上で動作しますが、その動作はリクエストから始まります。 次に使い方を詳しく説明します。 AD: 今日は...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート