ホームページ >バックエンド開発 >PHPチュートリアル >phpのstripslashesとaddslashes_PHPチュートリアルの違いの概要

phpのstripslashesとaddslashes_PHPチュートリアルの違いの概要

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

この記事では主にphpのstripslashesとaddslashesの違いを紹介し、必要な友人に共有したいと思います。

たとえば、データを mysql に書き込むときは次のようになります。 コードは以下のように表示されます: mysql_query("更新テーブルセット `title`='kuhanzhu のブログ'"); ​ ​ それはうまくいきません。 ASP と同様、データベースは一重引用符にアレルギーがあります。そして、addslashes は現時点で最も価値があり、asp の replace("‘",""","kuhanzhu's blog") と同じ機能を持っています。 ​ セキュリティのため、PHP では、処理を行わずに一重引用符をデータベースに直接挿入できる Magic_quotes_gpc = On 関数が導入されています。その後、Off の場合は、一重引用符を盲目的に信頼するのではなく、一重引用符の問題を考慮する必要があります。 ​ magic_quotes_gpc = On にすると、addslashes() で処理したデータが ' の形でデータベースに保存されます。 このとき直接出力すると、思ったより内容が多いので、stripslashes() が表示されます。削除できます (str_replace("", "",$Str) とは異なります)。 ​ magic_quotes_gpc = Off の場合、addslashes() で処理されたデータは ' の形式でデータベースに保存されます。これで直接出力される場合は、addslashes() がデータを挿入する役割を果たします。時間、データは正常です。もう、stripslashes() を使用する必要はありません。 ​ addslashes() とtripslashes() はまったく逆です。 ダイレクト メモリ:addslashes() は 1 つを追加し、stripslashes() は 1 つを削除します。 ​ それで、いつ使用するのですか? ​ シンプルにこう言います。 ​ magic_quotes_gpc = On の場合、システムは一重引用符などの問題を自動的に処理します。addslashes() とtripslashes() のどちらを使用するかは関係ありません。ただし、データを追加するときに addslashes() を使用する場合は、stripslashes() を使用する必要があります。データを表示しています。 ​ magic_quotes_gpc = Off の場合、システムは一重引用符などの問題を処理しないため、データを挿入する場合は addslashes() を使用する必要があり、データを表示する場合はtripslashes() を使用する必要はありません。 ​ 分析ができたので、プログラムを実行するときに何をすべきでしょうか?上記の 2 つの状況によれば、次のことが得られます。 ​ magic_quotes_gpc が On か Off に関係なく、データを追加するときは addslashes() を使用します。On の場合は、stripslashes() を使用する必要があります。Off の場合、stripslashes() は使用できません。 ​ オンかオフかを判断するにはどうすればよいですか? get_magic_quotes_gpc() を使用します。 ​ 最後の例: ​ コードは以下のように表示されます: コード // データを送信するか、変数を準備します。 $Content=addslashes("一重引用符や変数の有無に関係なく、これはデータです"); //データベースにデータを挿入します。コードは省略されています //データの表示を開始 $Content="データベースから読み取られたデータ"; if(get_magic_quotes_gpc()){ $Content=ストリップスラッシュ($Content); } $Content をエコーし​​ます。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/730219.html技術記事この記事では主にPHPのstripslashesとaddslashesの違いを紹介し、必要な友人に共有したいと思います。 たとえば、mysql にデータを書き込む場合、コードは次のようになります: mysql_query(update...
)
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。