ホームページ >バックエンド開発 >PHPチュートリアル >PHP の特定のアプリケーション分析 addlashes() function_PHP チュートリアル
定義と使用法addslashes() 関数を追加することで、指定された事前定義文字の前にバックスラッシュを追加します。
これらの定義済み文字は次のとおりです:
一重引用符 (')
二重引用符 (")バックスラッシュ ()
NULL
構文
パラメータの説明
ヒントと注: この関数は、データベースに保存されている文字列やデータベース クエリ ステートメントに適した文字列を準備するために使用できます。
注: デフォルトでは、すべての 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
true