XSS対策 特定のタグだけ許可したい時どうする?

広告

XSS対策でhtmlspecialcharsを使用してエスケープ処理で大体は対応できるけど、特定のタグだけ許可したい時ってどうすれば...
そんなときstrip_tagsで対応できます。

strip_tagsとは


文字列から HTML および PHP タグを取り除く
string strip_tags ( 対象の文字 [ 許可するタグ ] )

使用例


// postで渡ってきたタグ付きの文字列を整形
$string = strip_tags($post['content'], '<a><b><div>');
echo $string;
こうするとaタグ、bタグ、divタグのみ許可して、それ以外のタグを取り除いてくれます。

管理画面等でインプットするときにhtmlタグでマーキングした文字をユーザ側で出したいけど、scriptは許諾したくない!って時はstrip_tagsで対応できそうです。
XSS対策しなければいけない、だけどタグで装飾したい・・・そんな悩みを解決してくれるstrip_tagsをつい最近まで知りませんでした。
これは活用できそうですねー ^ ^
広告

Profile