1
vorbei

I Kontrast Sicherheit bin mit (Dritt-Tool, das SQL-Injection zeigt an, Schwachstellen) und Entity Framework, ist mein Code wie folgt aus:Entity Framework - Parameter Nullwert als

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

Wenn SaveChanges() ausgeführt wird, ein einfügen Abfrage wie folgt generiert:

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) 

Jetzt, nach Sicherheit, um den Kontrast, „null“ in Abfrage vorbei nicht ethisch ist, dann ist es eine schlechte Praxis - aber ich möchte Nullwerte zulassen!

Kann ich NULL-Werte mit SQL-Parametern an die SaveChanges()-Methode übergeben?

Gibt es eine Möglichkeit, damit umzugehen? Hat jemand eine Idee?

+0

Warum nicht Nullwerte in leere Strings konvertieren? –

+0

Erstellen Sie ein [ViewModel] (https://stackoverflow.com/questions/11064316/what-is-viewmodel-in-mvc) der Felder, die Sie benötigen, und ordnen Sie es dann vor dem Speichern Ihrem Entitätsmodell zu. –

+0

@robAnthody, ich habe viele Speicherprozeduren dort, die prüft, ist nicht NULL in where-Klausel, also glaube ich nicht, leere Zeichenfolge wird gute Ansatz sein! – Ankush

Antwort

0

Ich bin einer der Entwickler für Contrast Security .NET-Agent. Es klingt wie ein falsches Positiv mit unserem Produkt. Es sollte keine Probleme mit der Verwendung von Nullen in Insert-Anweisungen geben.

Könnten Sie bitte eine Supportanfrage einreichen und Ihre gefundene Trace-XML einschließen? Wir werden uns freuen, dieses Problem zu prüfen und zu beheben.

+0

Können Sie mir bitte wissen, wie oder wo Support-Anfrage einreichen ? – Ankush

+0

Hallo Ankush, bitte gehen Sie zu https://support.contrastsecurity.com, um eine Supportanfrage zu öffnen oder senden Sie eine E-Mail an [email protected] Wenn Sie könnten, exportieren Sie Ihre Sicherheitslücke in XML und fügen Sie sie Ihrem Ticket bei. Mein Team wird sich mit Ihnen in Verbindung setzen. Vielen Dank! –

Verwandte Themen