PHPでよく使われるエスケープ関数は何ですか?

L
リリース: 2023-03-01 09:50:01
オリジナル
2697 人が閲覧しました

PHPでよく使われるエスケープ関数は何ですか?

#php でよく使用されるエスケープ関数

1.

addslashes

addslashes は、(')、(")、()、(NUL) などの SQL ステートメント内の特殊文字をエスケープします。この関数は、DBMS に独自のエスケープ関数がない場合に使用されますが、DBMS に独自のエスケープ関数がある場合は、関数を使用する場合は、元の関数を使用することをお勧めします。たとえば、MySQL には SQL をエスケープするための mysql_real_escape_string 関数があります。

PHP5.3 より前では、magic_quotes_gpc は主に $GET でデフォルトで有効になっていたことに注意してください。 $POST と $COOKIE では、これらの変数に対して addslashes を繰り返し呼び出す必要はなく、そうしないと二重エスケープが発生します。削除されました。最新バージョンの PHP を使用している場合は、この問題について心配する必要はありません。stripslashes は、addslashes のエスケープ解除関数です。

2.

htmlspecialchars


htmlspecialchars HTML 内のいくつかの特殊文字は、(&)、(')、(")、(<)、(>) の 5 文字を含む、HTML エンティティ (形式: &xxxx;) 形式にエスケープされます。 。

& (AND) => &

” (二重引用符) => " (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 は、(\x00)、(\n)、(\r)、()、(')、(\x1a に対して) MySQL ライブラリ関数 mysql_real_escape_string を呼び出します。 ) をエスケープします。つまり、SQL インジェクションを防ぐために前にバックスラッシュ () を追加します。

これらのバックスラッシュはデータベースが SQL を実行するときに追加され、バックスラッシュはデータをデータベースに書き込むときに使用されるため、データベース データを読み取るときにエスケープを解除するためにストリップスラッシュを呼び出す必要がないことに注意してください。したがって、データベースに書き込まれる内容は元のデータであり、前にバックスラッシュはありません。

5.

strip_tags

strip_tags は、NUL、HTML、および PHP タグを除外します。 6. 結論

PHP 独自のセキュリティ機能では XSS を完全に回避することはできません。HTML Purifier の使用を推奨します。

推奨チュートリアル: 「

PHP チュートリアル

以上がPHPでよく使われるエスケープ関数は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!