#このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューターphp エスケープ関数には、1.addlashes() 関数、2.htmlspecialchars() 関数、3.htmlentities() 関数、4.mysql_real_escape_string() 関数、5.strip_tags() 関数が含まれます。
1.addlashes
addslashes は、SQL ステートメント内の特殊文字 (') をエスケープします。 (「)、()、 (NUL) 4 文字。 この関数は、DBMS に独自のエスケープ関数がない場合に使用されますが、DBMS に独自のエスケープ関数がある場合は、独自の関数を使用することをお勧めします。たとえば、MySQL には、エスケープするための mysql_real_escape_string 関数があります。 SQL。 PHP5.3 より前では、magic_quotes_gpc は主に $GET、$POST、 $COOKIE に対して addslashes 操作を実行するため、これらの変数に対して addslashes を繰り返し呼び出す必要はありません。そうしないと、double になります。 逃げる。 ただし、magic_quotes_gpc は PHP5.3 で廃止され、PHP5.4 以降は削除されましたが、最新バージョンの PHP を使用している場合は、この問題を心配する必要はありません。 tripslashes は、addslashes のエスケープ解除関数です。
2.
htmlspecialchars
” (二重引用符) => " (ENT_NOQUOTES が設定されていない場合)
' (単一引用符)
=> ' (ENT_QUOTES が設定されている場合)
< (符号より小さい) => <
> (符号より大きい) => >
htmlspecialchars を使用して $GET、$POST、$COOKIE データをフィルタリングし、XSS を防ぐことができます。なお、htmlspecialchars関数はセキュリティ上のリスクがあると考えられるHTML文字のみをエスケープするため、HTML内でエスケープ可能な文字をすべてエスケープしたい場合はhtmlentitiesを使用してください。 htmlspecialchars_decode は htmlspecialchars のデコード関数です。
3. htmlentities
htmlentities は、HTML 内のエスケープ可能なコンテンツを HTML にエスケープします。 実在物。 html_entity_decode は htmlentities のデコード関数です。4. mysql_real_escape_string
mysql_real_escape_string は MySQL ライブラリ関数 mysql_real_escape_string を呼び出します、はい (\x00)、 (\n)、(\r)、()、(‘)、 (\x1a) でエスケープします。つまり、SQL インジェクションを防ぐために前にバックスラッシュ () を追加します。データベース データを読み取るときにエスケープを解除するためにストリップスラッシュを呼び出す必要はないことに注意してください。これらのバックスラッシュはデータベースが SQL を実行するときに追加され、バックスラッシュはデータがデータベースに書き込まれるときに削除されるためです。は元のデータであり、前にバックスラッシュはありません。5.strip_tags
strip_tags は、NUL、HTML、および PHP タグを除外します。 推奨学習: 「PHP ビデオ チュートリアル 」
以上がPHPのエスケープ関数とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。