Je suis en train de mettre en place un site public et la première chose qui me vient à l'esprit est l'injection SQL. J'ai quelques champs de texte que je sauvegarde et j'utilise linq pour mettre à jour/écrire dans la base de données. L'utilisation de linq est-elle sûre ?
Cet exemple crée le compte utilisateur.
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();
Cet exemple change le mot de passe
MemberRegistrationDataContext dc = new MemberRegistrationDataContext();
var mProfileRecord = dc.tbl_Member_UserProfiles.Single(c => c.SSN == sSSN);
mProfileRecord.Password = sNewPassword;
dc.SubmitChanges();
Sont-ils sûrs ? LINQ paramètre-t-il le SQL qu'il génère automatiquement ?