ホームページ  >  記事  >  バックエンド開発  >  PHP magic_quotes_gpc_PHP チュートリアル

PHP magic_quotes_gpc_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:36:43864ブラウズ

この時点で入力データに対してaddslashes()を実行する場合は、出力時にstripslashes()を使用して余分なバックスラッシュを削除する必要があります。 2. PHPの場合 magic_quotes_gpc=off 入力データを処理するにはaddslashes()を使用する必要がありますが、出力のフォーマットにはstripslashes()を使用する必要はありません。addslashes()はバックスラッシュをまとめてデータベースに書き込むのではなく、mysqlによる実行の完了を支援するだけだからです。 SQL ステートメント。 補充: PHP magic_quotes_gpc スコープは次のとおりです: WEB クライアント サーバー; アクション時間: スクリプトの実行時など、リクエストの開始時。 magic_quotes_runtime スコープ: ファイルから読み取られたデータ、exec() の実行結果、または SQL クエリから取得されたデータ。 アクションの時間: スクリプトが実行状態で生成されたデータにアクセスするたび。 例: 1. 条件: PHP magic_quotes_gpc=off データベースに書き込まれる文字列は、いかなる方法でもフィルタリングされません。データベースから読み取られた文字列は一切処理されません。 データ: $data=”snow””’sun”; (snow と sun の間には 4 つの連続した一重引用符があります)。 操作: 文字列「snow」’ssun」をデータベースに書き込みます。 結果: SQL ステートメント エラーが発生しました。MySQL は SQL ステートメントを正常に完了できず、データベースへの書き込みに失敗しました。 データベース保存形式: データなし。 出力データ形式:データなし。 注: 未処理の一重引用符は、データベースに書き込まれるときに SQL ステートメント エラーを引き起こします。 2. 条件: PHP magic_quotes_gpc=off データ: $data=”snow””’sun”; (snow と sun の間には 4 つの連続した一重引用符があります)。 操作: 文字列「snow」’ssun」をデータベースに書き込みます。 結果: SQL ステートメントは正常に実行され、データはデータベースに正常に書き込まれました。 データベース保存形式:snow””sun(入力と同じ) 出力データ形式:snow””sun(入力と同じ) 説明:addlashes() 関数は、SQL ステートメントが正常に実行できるように、一重引用符をエスケープ文字に変換します。 しかし、データベースにデータとして保存されているのは「雪」「太陽」であり、私たちが想像している「雪」「太陽」ではありません。 3. 条件: PHP magic_quotes_gpc=on データベースに書き込まれた文字列はまったく処理されません。データベースから読み取られた文字列は一切処理されません。 データ: $data=”snow””’sun”; (snow と sun の間には 4 つの連続した一重引用符があります)。 操作: 文字列「snow」’ssun」をデータベースに書き込みます。 結果: SQL ステートメントは正常に実行され、データはデータベースに正常に書き込まれました。 データベース保存形式:snow””sun(入力と同じ) 出力データ形式:snow””sun(入力と同じ) 説明: PHP magic_quotes_gpc=on は、SQL ステートメントが正常に実行できるように、一重引用符を ' エスケープ文字に変換します。 しかし、データベースに保存されているのは、私たちが想像する「雪」「太陽」ではなく、「雪」「太陽」です。 4. 条件: PHP magic_quotes_gpc=on データ: $data=”snow””’sun”; (snow と sun の間には 4 つの連続した一重引用符があります)。 操作: 文字列「snow」’ssun」をデータベースに書き込みます。 結果: SQL ステートメントは正常に実行され、データはデータベースに正常に書き込まれました。 データベース保存形式:snow''''sun(エスケープ文字追加) 出力データ形式:snow''''sun(エスケープ文字追加) 説明: PHP magic_quotes_gpc=on は、SQL ステートメントが正常に実行できるように、一重引用符を ' エスケープ文字に変換します。 addslashes は、データベースに書き込まれる一重引用符を ' に変換し、後者の変換はデータとして書き込まれます。 データベース、データベースには雪「」「太陽」が保存されます

注:

この機能は PHP 5.3.0 で非推奨となり、PHP 5.4.0 で削除されました。したがって、マジック クオートは PHP サポートの一部ではなくなったため、もう使用する理由はありません。 しかし、初心者が気付かないうちに、より良い (より安全な) コードを書くのに役立ちます。 ただし、コードを操作する場合は、マジック クオートがオンになっていることに依存するよりも、コードを変更する方が賢明です。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/738503.html技術記事この時点で入力データに対してaddslashes()を実行する場合は、出力時にstripslashes()を使用して余分なバックスラッシュを削除する必要があります。 2. PHPの場合 magic_quotes_gpc=off...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。