2016-08-02 1 views
0

私は、テキストが、私はそれを避ける必要があります<*>*</*>ようになればスクリプトレットタグの正規表現が必要ですか?

1. <script>alert(1);</script> 
2. <b>test</b> 

に一致する。この値をJavaScriptで正規表現パターンを見つける必要があります。

を見つけるための任意の式がある私は、これらの表現のすべての条件について

new RegExp("^([a-z0-9]{0,})$"); 
new RegExp("/<script\b[^>]*>([\s\S]*?)<\/script>/gm"); 

しかし、それがどのように動作するかではなく一部を使用しました。誰も私にそれを解決する正しい正規表現のパターンを与えることができます。

+1

私はあなたが欲しいものを正確に理解していません。詳細を教えていただけますか? – dizel3d

+0

これはXSSを防ぎますか? ''は、大文字と小文字を区別しないフラグがないのでバイパスします。また、その中に属性タグ( '')を置くと、チェックに合格します。 ''、 ''はもちろんです。この単純なチェックをバイパスする方法はたくさんあります(* XSS *を防止する場合) –

答えて

0

ちょうどあなたの式から?修飾子を削除:?はそれができるだけ少ないと一致することを意味し、あなたの数量詞がungreedyなりますので

/<script\b[^>]*>([\s\S]*)<\/script>/gm 

。私、あなたの目的は、XSS攻撃を避けるためです数量詞here

+0

Okだが、本文中に任意のタグを付けることができます。正規表現を使ってどのように見つけることができますか? –

関連する問題