HTMLタグをフィルタリングするためにhtmlspecialchars()関数とstrip_tags関数を使用するphpの違い

高洛峰
リリース: 2016-10-09 11:28:02
オリジナル
1638 人が閲覧しました

元のアドレス: http://www.manongjc.com/article/1103.html

まず、htmlspecialchars 関数とstrip_tags 関数の使用例を見てみましょう:

<?php  
$str="<a href=&#39;http://www.manongjc.com&#39;>码农教程&#39;\"</a>";  
echo htmlspecialchars($str);  
echo "<br/><br/>";  
echo strip_tags($str);  
?>
ログイン後にコピー

ブラウザは次の結果を出力します:

Coder Tutorial' "

Coder Tutorial'"

ページのソース コードを表示すると、結果は次のようになります:

<a href=&#39;http://www.manongjc.com&#39;>码农教程&#39;"</a><br/><br/>码农教程&#39;"
ログイン後にコピー

結果から、htmlspecialchars() とstrip_tags の違いは次のとおりであることがわかります:

違い 1:

strip_tags 関数は HTML タグを削除するために使用されますが、htmlspecialchars は HTML タグを削除せず、タグを HTML インスタンスに変換するだけです。そのため、この 2 つの最大の違いは、1 つは HTML タグを削除すること、もう 1 つは HTML タグを削除することです。もう 1 つは、HTML タグを他の文字に変換することです。

違い 2:

HTML タグから削除する必要がある文字列内のタグが元々間違っている (大なり記号が欠落しているなど) 場合、strip_tags 関数を使用するとエラーが返されますが、 htmlspecialchars ではエラーは表示されませんが、それでも HTML エンティティに変換されます。

違い 3:

XSS 攻撃を防ぐ場合、通常は htmlspecialchars 関数を使用することをお勧めします。これは、strip_tags は HTML タグを削除できますが、「 」または「 」は削除しないためです。したがって、strip_tags を使用した場合でも、 htmlspecialchars 関数を使用する必要があります。フォーム送信やユーザー掲示板で「または '

」を除外するには、ブラウザでオリジナルのデータを出力したい場合は、strip_tags 関数を使用せず、htmlspecialchars 関数を使用してください。

htmlspecialchars() 関数とstrip_tags 関数の詳細については、次を参照してください:

http://www.manongjc.com/article/1213.html

http://www.manongjc.com/article/1099 .html

http://www.manongjc.com/article/795.html


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