9

健康記録でいっぱいのDBとASP.NETMVCアプリケーションがあるとします。誰かがURL"/api / MedicalRecords?$ filter = id gt 0"を使用して、Ajaxリクエストを呼び出したとします。これは、SQLインジェクションに対してオープンであるように私には思えます-10〜15年前のように...

これは、SQLインジェクションに対して標準でオープンであることを意味しますか、それともサーバー側に依存しますか(IQueryable結果とエンティティフレームワーク4を使用します)?

認証メカニズムが必要であることは知っていますが、この質問のために、認証メカニズムが利用できないと仮定します...

4

2 に答える 2

6

ODataとSQLインジェクションに関する非常に詳細な情報を提供するこのブログ投稿を読んでみてください。

http://kscottmorrison.com/tag/sql-injection/

...もちろん、ODataはデータソース接続であるため、インジェクションは問題ではありません。最初にそれを取得するだけで十分です。したがって、ODataで非常に重要なことは、この接続で実行できることを厳密に管理することです...

于 2012-12-01T13:42:41.087 に答える
5

WCF Data Servicesは、フィルターからの値をパラメーター化するため、SQLインジェクションの可能性がなくなります。

データベースプロファイラーで実行された実際のSQLクエリを表示することをお勧めします。

于 2012-12-01T13:37:11.973 に答える