« 2005年02月18日 | メイン | 2005年06月18日 »

2005年02月27日

変数からタグを削除

たとえば、不特定多数の人が書き込む掲示板などで、タグの使用を禁止したい時がある。
これを簡単に行えるのが
string strip_tags ( string str [, string allowable_tags])
第二引数には、許可するタグを指定できる。

たとえば、 b と i 以外の全てのタグを削除したい場合。

$data = strip_tags($data,'<b><i>');

としたいが、実はこれだけだととても危険である。
タグ属性までは審査しないので、悪意のある人がタグにスクリプトを埋め込み、攻撃を可能とする。
なので、この関数で許可するタグがある場合、正規表現を使った置換等で危険な属性を排除しなければならない。

意外とこの関数の世話になることが多いはず。
ユーザーが入力した文字をページに出力する場合、必ず、タグを使われた場合のことを考えよう。

投稿者 Nori : 23:06 | コメント (0) | トラックバック

| ウェブマイスタートップ | ホームページの作り方 | スタイルシート入門 | PHP Tips | PHP配布 | 掲示板 | ブログ | ショッピング | リンク集 | 支援ウェブアプリ |

全ページへのリンク自由です。好きなページへ自由にリンクしてください。 © 2003 - 2008 ウェブマイスター