PHP の特定のアプリケーション分析 addlashes() function_PHP チュートリアル

WBOY
リリース: 2016-07-15 13:31:00
オリジナル
890 人が閲覧しました

定義と使用法addslashes() 関数を追加することで、指定された事前定義文字の前にバックスラッシュを追加します。
これらの定義済み文字は次のとおりです:

一重引用符 (')

二重引用符 (")

バックスラッシュ ()
NULL

構文

c


パラメータの説明

文字列 必須。チェックする文字列を指定します。


ヒントと注: この関数は、データベースに保存されている文字列やデータベース クエリ ステートメントに適した文字列を準備するために使用できます。

注: デフォルトでは、すべての GET、POST、COOKIE データに対して PHP ディレクティブ magic_quotes_gpc がオンになり、addslashes が自動的に実行されます。 ()。magic_quotes_gpc によってエスケープされた文字列には addslashes() を使用しないでください。これにより、関数 get_magic_quotes_gpc() を使用してこの状況を検出できます。文字列に事前定義されたものにバックスラッシュを追加します:

<ol class="dp-xml">
<li class="alt"><span><span class="tag"><span> ?php  </span></span></span></li>
<li>
<span>$</span><span class="attribute">str</span><span> = </span><span class="attribute-value">"Who's John Adams?"</span><span>;  </span>
</li>
<li class="alt"><span>echo $str . " This is not safe in a database query.</span></li>
<li class="alt"><span class="tag"><span> </span><span class="tag-name">br</span><span> </span><span class="tag">/></span><span>";  </span></span></li>
<li><span>echo addslashes($str) . " This is safe in a database query.";  </span></li>
<li class="alt">
<span class="tag">?></span><span> </span>
</li>
</ol>
ログイン後にコピー
出力:

これはデータベース クエリでは安全ではありません。

ジョン アダムスは誰ですか? データベース クエリでは安全です。たとえば、データベースにデータを入力する場合、O'reilly という名前をエスケープする必要があります。これにより、PHP ディレクティブが追加されずにデータベースにデータが挿入されます。 on に設定すると、PHP 命令 magic_quotes_gpc がオンの場合、主にすべての GET、POST、および COOKIE データに対して addlashes() が自動的に実行されます。エスケープされた文字列に対しては addlashes() を使用しないでください。これは二重レベルのエスケープを引き起こすため、関数 get_magic_quotes_gpc() を使用してこの状況を検出できます。

http://www.bkjia.com/PHPjc/446258.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/446258.html

技術記事
addslashes() 関数を定義して使用することにより、指定された事前定義文字の前にバックスラッシュを追加します。 これらの定義済み文字は次のとおりです: 一重引用符 (') 二重引用符 (") バックスラッシュ () NULL 構文...

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート