許可されていない文字の配列があります:
$array = ('<php', '<?', '?>', '<h', '<b>');
そして、文字列メッセージがあります。その文字列にこれらの単語が配列に含まれていないことを確認するにはどうすればよいですか?
基本的に、私は ajax チャットをし<b>hello</b>
ています。入力するとテキストが太字になり、そこで HTML を許可したくありません。方法がわかりません。
許可されていない文字の配列があります:
$array = ('<php', '<?', '?>', '<h', '<b>');
そして、文字列メッセージがあります。その文字列にこれらの単語が配列に含まれていないことを確認するにはどうすればよいですか?
基本的に、私は ajax チャットをし<b>hello</b>
ています。入力するとテキストが太字になり、そこで HTML を許可したくありません。方法がわかりません。
を使用してすべての html タグを取り除くことができますがstrip_tags
、html に出力するときは、常に を使用して、 、 などhtmlspecialchars()
の特殊文字をエンコードして、生成された html に影響を与えないようにする必要があります。>
<
ところで、ブラックリストのアプローチは失敗する可能性が高いです。たとえば、<script>
タグの追加などを開始するとどうなるでしょうか? 出力先のメディア (html、db など) に合わせて正しくエンコードする場合、ここでは必要ないように見えますが、通常はホワイトリスト アプローチを使用する方が適切です。