asp.net ユーザー入力のサニタイズ
-
05-07-2019 - |
質問
asp.net には、エラー ページにリダイレクトするのではなく、すべてのテキスト ボックスの入力をサニタイズできるメカニズムが組み込まれていますか?
ユーザーが名前を入力できるテキストボックス入力がありますが、<> タグを入力しようとすると、ページで自動的にエラーがスローされます。このエラーをユーザーフレンドリーな方法で処理したいだけです。
解決
ASP.NETを使用できます RegularExpressionValidator コントロール 次のようなパターンで: ^[^<>]*$
<asp:RegularExpressionValidator ID="rev" runat="server"
ControlToValidate="txtBox"
ErrorMessage="The <> tags are not allowed!"
ValidationExpression="[^<>]*" />
<asp:RequiredFieldValidator ID="rfv" runat="server" ControlToValidate="txtBox"
ErrorMessage="Value can't be empty" />
の RequiredFieldValidator これは、空のエントリを防ぐために RegularExpressionValidator と組み合わせて使用されます。そのテキストボックスがオプションであり、何かが入力されたときにのみ検証する必要がある場合は、RequiredFieldValidator を使用する必要はありません。
この方法を行う利点は、エラーを適切に処理でき、同じページでユーザーに通知できることです。
ただし、多くのテキストボックスに対してこれを行う必要があり、エラー ページよりもわかりやすいものを表示したい場合は、ValidateRequest エラーを処理して、より分かりやすいメッセージを提供し、ユーザーを同じページに留まらせることができます (単にエラー ページを置き換えるのではなく、カスタム エラー ページ)。詳細については、カーク・エヴァンスの投稿をご覧ください。 ページ内での ValidateRequest エラーの処理 (「OnError メソッドのオーバーライド」というタイトルのセクションを参照してください)。
他のヒント
ステップバイステップでこれをお読みください: http://yourtahir.wordpress.com/2008/03/28/aspnet-not-allow-html- in-text-boxserver-error-in-application-a-potentialy-dangerous-requestform-value-was-detected /
web.configの作業を行う必要があります。
ASP.netには検証コントロールがあります
[ http://msdn.microsoft.com/ en-us / library / 7kh55542.aspx] [1]
マークダウンエディターもあります。これは、htmlタグなどを削除するコントロールです
>