Ich richte eine öffentliche Website und die erste Sache in meinem Kopf ist SQL-Injektion. Ich habe einige Textfelder, die ich speichere und benutze linq, um die Datenbank zu aktualisieren/zu schreiben. Bin ich sicher mit linq?Wird mit LINQ zu SQL helfen SQL-Injektion zu verhindern
In diesem Beispiel wird das Benutzerkonto erstellt.
Data.MemberRegistrationDataContext context = new MemberRegistrationDataContext();
Data.tbl_Member_UserProfile profile = new tbl_Member_UserProfile();
profile.SSN = Convert.ToDecimal(Session["tempMemberSSN_Registration"]);
profile.UserName = userName;
profile.Password = password;
profile.EmailAddress = email;
profile.QuestionID = qID;
profile.QuestionResponse = securityAnswer;
profile.LastModDt = DateTime.Now;
profile.LastModBy = "web";
context.tbl_Member_UserProfiles.InsertOnSubmit(profile);
context.SubmitChanges();
Dieses Beispiel ändert sich das Passwort
MemberRegistrationDataContext dc = new MemberRegistrationDataContext();
var mProfileRecord = dc.tbl_Member_UserProfiles.Single(c => c.SSN == sSSN);
mProfileRecord.Password = sNewPassword;
dc.SubmitChanges();
diese sicher sind? Parametriert LINQ das automatisch generierte SQL?
Hinweis für Leser: Das gleiche gilt für Entity Framework. Siehe http://stackoverflow.com/questions/3473841/entity-framework-linqtosql-and-sql-injection –