- - PR -
HTMLタグのサニタイズ処理
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-05-22 19:46
こんにちは、VB.NET2005で開発を行っております。
HTMLタグのサニタイズをMicrosoftのホームページから見つけた http://msdn.microsoft.com/ja-jp/library/cc438115.aspx
<FONT xxxx>〜</FONT>などのタグが上手く出来ないで苦戦してます。 Regexクラスで効果的に置き換えが出来たら良いのですが、 なかなか上手くできませんでした(涙) (使いこなせずに苦戦中です。。。) このようなタグを有効にする良い方法がございましたら 教えて頂けますと非常に助かります。 | ||||
|
投稿日時: 2008-05-23 11:29
^<(?<tagname>[a-zA-Z]+) xxxx>〜</¥k<tagname>>$
こうですかね(¥は全角にしてあります)。大文字小文字を区別しないほうがいいのでIgnoreCaseで。 ただ、正規表現使って混乱するくらいならべたべたコード書いたほうがいいと思います。 シンプルに考えるための正規表現なので。 | ||||
|
投稿日時: 2008-05-23 19:46
<FONT>を使えなくするのがサニタイズだからな。
<FONT xxxx>のxxxxに危険なコードがないのか気になる。 いろいろ細かいこと考えだすと大変な気がするが サニタイズだから仕方ないのかな。 VB.NET2005を使ってないので具体的な方法はわかりません。 | ||||
|
投稿日時: 2008-05-23 20:04
VBの書き方は知らんが正規表現をちょっと考えてみた。
/<(font color="#[0-9]{6}")>/i 置換後 "<$1>" 但し上記は<font color="#112233">系のサニタイズ解除に限る。 <font color="#112233" onclick="location='悪意のあるサイト'">みたいなのができそうなので限定してみた。 <font size='+2' color=red >とか複雑になってくると正規表現で簡単にできるかわからん。 |
1