掲示板の投稿でタグを含む場合、それを排除する方法です。
タグの排除は必要ないように思えるかもしれませんが悪意を持った方の
書き込みなどにより、別のサーバへの攻撃の踏み台にされたり、本来
発行元でしか読み出せない Cookie を、同じサーバから実行する事により
読み出せてしまったりと大変危険な状態になる可能性があります。
【参考】 Yahoo! Japan 「検索 クロスサイト スクリプティング」
下のサンプルソースでは、改行コードを <BR>タグに置き換えた後、 < や > などHTMLで
意味のある記号を、同じ記号を示す文字列 < などに置き換えています。
一部のタグのみ許可をする場合、独自のタグで動作させる事がお薦めです。
例えば <B>太い</B> を許可したい場合、何らかの文字列を決めておき、
それが入力されていたら <B>タグに置き換えるなどというものです。
下のサンプルソースでは、
%%ST%% を <B> に、 %%STE%% を </B> にそれぞれ置換えを行っている為、
書き込みの際に太字にしたい文字列を %%ST%% 文字列 %%STE%% とすると、
<B>タグに変換される為、独自仕様により一部のタグを有効にする事になります。
|