Webサイトのセキュリティに関する落とし穴と、それらを回避または軽減するためにASP.NET MVCで何ができますか?

asp.net-mvc security

私は私の最初の一般向けWebサイトの実装に取り​​組み始めたところです。 私はこれに慣れていないので、よくある落とし穴、それらが何であるか、そしてそれらを避ける方法のリストが正当化されるかどうか私は考える。

私はのようなものを探しています:

  • SQLインジェクション(私はこれを知っていますが、誰かがWebサイトのインジェクションの脆弱性を分析するためのツールを知っていれば、それは役に立ちます)。

  • パスワードの誤った保管 私は塩を使うべきだと知っています。 これを行うために、ASP.NET MVCにはどのような機能がありますか?

  • ログイン率の制限(Jeffが今日のCoding Horrorで言及しています)。 これをASP.NET MVCに実装するにはどうすればよいですか。 標準のMembership Providerの実装でこれを実行できますか?

  • XSSとは何ですか?またそれを回避するためのASP.NET MVCツールボックスにはどのようなツールがありますか?

あるトピックが別の質問で扱われている場合は、簡単な要約とその質問へのリンクをお勧めします。

  4  4


ベストアンサー

  • SQLインジェクション – パラメータ化されたクエリを使う! を使用している場合
    SQLクエリを構築するStringBuilderクラスまたは文字列連結は、SQLインジェクションに対して脆弱である可能性が最も高いです。

  • XSS-次のようなMVCヘルパーを使用する場合
    `+ = Html.Encode(yourPossibleCompromisedData)+`を使用してページにデータをレンダリングすると問題ありません。 これらのヘルパーは、挿入されたコードがブラウザ上で実行されるのを阻止するように設計されています。 ASP.NETにはフォーム保護機能があり、悪意のあるコードがあなたの行動に投稿されるのを防ぎます(これはMVCではなくaspnetそのものです)。

  • パスワードの誤った保管 組み込みのASPNETメンバーシップを使用する
    プロバイダー-パスワードなどを保存するために適切なパターン(salt ..)を使用します。

  • ログインレート制限-あるcontribプロジェクトがあると思います
    これを軽減するために使用可能(組み込みプロバイダーがまだ実行していない場合)

  • XSSとは何ですか。ASP.NETMVCツールボックスにはどのツールが含まれていますか
    それを避けますか? http://en.wikipedia.org/wiki/Cross-site_scripting [XSS]を読んでください。 MVC 1.0は、クロスサイトスクリプティングを軽減するために、フォームの `+ = Html.ValidationSummary()+`非表示フィールドを提供します。

1


タイトルとURLをコピーしました