2016-06-15 15 views
0

私はASP.NET MVC C#でSaaSアプリケーションを開発していますが、ストアドプロシージャ/関数を使用するとSQLインジェクションとxsxx攻撃を防ぎたいのではないでしょうか?ユーザーが入力したデータを何らかの形で消去したいと思っていますが、そうするにはどうすればよいか分かりません。ストアドプロシージャを使用するとSQLインジェクション/ XSXX攻撃が防止されますか?

データスクラブを行う必要がある場合、そのアプローチにはどのような方法がありますか?

答えて

0

いいえ

SqlCommandを使用してパラメータ化されたクエリを使用し、適切なパラメータを適切な接続に追加する必要があります。これにより、SQLインジェクションが防止されます。ユーザーストリングからsp_executesqlを使用している場合など、すべての手段が保護される保証はありません。

SQLインジェクションとXSS攻撃は別々の問題です。

+0

フロントサイドスクラブを行う必要はありませんか?私がパラメータと適切なsprocsを使用する限り、私はSQLインジェクションから保護されていますか? – James

+0

はい、それはまったく別の問題であるXSSを解決しません。 –

0

それは

  1. SQLインジェクションを依存:ダニエルの答えで述べたように(その脆弱として、あなたのストアドプロシージャで動的SQLを避け、SQLインジェクション攻撃を使用して悪用される可能性があり、かつsp_executesqlやむを得ない使用している場合) Better Way

  2. XSS:MVC(ASPXビューエンジンの古いバージョンでは)常にを使用します@Razor Viewの場合、特にHTML.Rawを使用している場合を除き、@model.somethingはデフォルトで常に自動的にエンコードされます(Html.Encode()と同じです)。 Nice Read

関連する問題