ASP.NET MVCでのユーザー入力の検証/クリーニングに関するベストプラクティスに関する提案があります。 ValidateInputはMVCフレームワーク内から処理できないため、ほとんどの場合Falseに設定する必要があります(アクションメソッドが起動する前でもエラーがスローされているようです)。ASP.NET MVCでの入力の検証
したがって、入力が悪意のある入力に対してどのように検証されるべきですか。 タグなどの入力を許可したいだけで、入力やその他の入力を禁止するのはどうでしょうか?これはかなり一般的な要件でなければなりません今Webアプリケーションのが、私はこれを自動化するASP.NET MVCで多くを見ることができません。
はい、わかりました。しかし、潜在的に有害なデータベースへの入力を許可することは良い考えではありません。 UIが変更されたときの道のりを誤ってRawに出力することはできません。確かに、最初に危険な入力を許可することは許されません。 また、そのような入力が単純に入力され、アラート( 'foo')が出力テキストとして表示された場合、Webではうまく見えません。 – Judo
@柔道、私はあなたに同意しない。ユーザー入力をそのままデータベースに格納するだけです。リレーショナルデータベースは、適切に保管する限り、有害な入力を気にしません。あなたが解決しようとしているよりも多くの問題に遭遇するように、データベースに格納する前にユーザー入力を修正し始めたら、私を信じてください。あなたが私の答えで提供した2つの基本的なルールに従えば、あなたは安全です。 –
@Judo - もう一つ考慮すべきことは、毎年ポップアップするJavaScriptの脆弱性が無限に供給されていることを確認することは非常に難しいことです。あなたは基本的に敗戦戦いになるでしょう。単にかみそりか<%;あなたがこれらの問題のいずれかを持たないことを保証し、努力の面ではるかに安いです。 – jfar