2009-03-08 17 views
4

私は最近、ASP.NET MVC(執筆時にはRC1)を使用する個人用プロジェクトを開始しました。私の背景は、従来のASP.NET WebForms開発です。ASP.NET MVCセキュリティの推奨事項

私の知るASP.NET MVCは限られていますので、認証、入力の検証、一般的な攻撃(XSS、XSRFなど)に対する防御の方法についてのご意見をお待ちしております。

私はいくつかの記事Stephen Walther posted on his blog一覧表示することから始めましょう:

検証:



おかげで、私の頭の上オフ
アーニー

答えて

6

(とどこにも完全に近い)...

  • は保護するために、すべてのフォームにAntiForgeryTokenを使用しますXSRF。ユニットテストを使用して、POSTSを受け入れるすべてのコントローラーアクションがValidateAntiForgeryToken属性で装飾されていることを確認します。

  • 自動HTMLエンコードを利用できるように、可能な限りHtmlHelper拡張機能を使用してください。

  • すべてのDBアクセスに対してパラメータ化されたクエリを使用するORMを使用します。これはMVCに固有ではなく、依然として関連しています。

  • 最低限必要なものを受け入れるHTTP動詞を制限してください。削除アクションには、DELETE(vi AJAX)またはPOSTを使用します。

  • 非公開のアクションを保護するには、AuthorizeAttributeまたはそれから派生した属性を使用します。

  • キャッシュされている可能性のあるURL(つまり、GET URLではなくPOST経由でログイン)にユーザーIDとパスワードを公開しないでください。常に同様に、機密データを渡すためにSSLを使用してください。