1

ASP.Net で次のエラーを引き起こす文字シーケンスをブラックリストに登録するには、どの正規表現を使用する必要がありますか? "潜在的に危険な Request.Form 値がクライアントから検出されました"。(例: < br >、< hi >、< a > など)

このエラーの原因となる文字シーケンスをブラックリストに登録するには、 asp.net 正規表現検証コントロールを使用する必要があります。

たとえば、123< hi >、有効な < abc > などを入力すると、検証が失敗する必要があります。

PS: 質問で適切に表示されていなかったので < br > に間隔を空けましたが、実際には < または > とそれらの間の文字列の間に空白を入れないでください。

4

2 に答える 2

0

あなたの例では、次の正規表現が必要です: "< br >|< hi >|< a >"。追加のトークンをブラックリストに登録する必要がある場合は、次の "|< ?? >" シーケンスを使用してください。サイン | in regex は OR 条件でグループを一致させることを意味するため、例は実際に < br > または < hi > または < a > に一致することを意味します。

潜在的な HTML タグで失敗する一般的な正規表現だけが必要な場合は、「<.*?>」で十分です。ただし、有効な HTML タグだけでなく <> 中かっこの間のシーケンスの場合、これは失敗します。

他のテキストや正規表現をテストしたり、それについて詳しく知りたい場合は、次の 2 つの非常に優れたサイトをお勧めします。

http://www.regexr.com/

https://regex101.com/

于 2016-02-21T00:35:43.967 に答える