1
私はとエンティティフレームワーク(SQLインジェクション、脆弱性を示しているサードパーティ製のツール)コントラストのセキュリティを使用しています

としてNULL値を渡して、私のコードは次のようである:Entity Frameworkのは - パラメータ

public int Insert(UserAddress userAddress) 
{ 
    _context.Entry(userAddress).State = EntityState.Added; 
    _context.SaveChanges(); 
    return userAddress.Id; 
} 

実行されます場合はSaveChanges()、クエリは、このように生成され挿入します。今、コントラストのセキュリティに応じて、クエリに「ヌル」を渡すと、倫理的ではありません

INSERT [dbo].[Address] ([UserId], [Name], [Address1], [Address2], 
         [City], [State], [PostalCode], 
         [Location], [LocationTypeId], 
         [BusinessName], [DeliveryInstructions], 
         [IsDefault], [SortOrder]) 
VALUES ('111111a1-22z2-33x3-44y4-fbad42c09c3a', @2, 'address1', null, 
     'Alpharetta', 'GA', 30005, 
     'POINT (-80.2427068 30.0925161)', 0, 
     '', '', 
     1, 0) 

、それは悪い習慣だ - しかし私は、null値を許可したいです!

SQLパラメータを使用してヌル値をSaveChanges()メソッドに渡すことはできますか?

これを処理する方法はありますか?誰にも分かりますか?

+0

null値を空の文字列に変換しないのはなぜですか? –

+0

必要なフィールドの[ViewModel](https://stackoverflow.com/questions/11064316/what-is-viewmodel-in-mvc)を作成し、それを保存する前にエンティティモデルにマップします。 –

+0

@robAnthody、私は多くのストアのプロシージャがありますが、そのチェックはwhere節でNULLではないので、空の文字列が良いアプローチになるとは思いません! – Ankush

答えて

0

私はContrast Security .NETエージェントの開発者の一人です。私たちの製品では偽陽性のように聞こえます。挿入文にNULLを使用することに問題はありません。

サポートリクエストを送信し、あなたの所見のトレースXMLを含めることができますか?私たちは喜んで見て、私たちの最後にこの問題を解決します。

+0

サポートリクエストの提出方法や場所を教えてもらえますか? ? – Ankush

+0

こんにちはAnkush、https://support.contrastsecurity.comにアクセスしてサポートリクエストを開くか[email protected]にメールを送信してください。可能であれば、脆弱性の検索結果をXMLにエクスポートし、チケットに含めるようにしてください。私のチームはあなたと連絡を取るでしょう。ありがとう! –