Eri*_*ken 6 sql entity-framework sql-injection
我非常喜欢使用命名参数而不是基于字符串的参数注入.它对大多数形式的SQL注入都是类型安全且安全的.在旧的ADO.NET中,我会为我的查询创建一个SqlCommand对象和一堆SqlParameters.
var sSQL = "select * from Users where Name = @Name";
var cmd = new SqlCommand(conn, sSQL);
cmd.Parameters.AddWithValue("@Name", "Bob");
cmd.ExecuteReader();
Run Code Online (Sandbox Code Playgroud)
现在,在Entity Framework中,它(在此链接上)显示为已经回归到一个简单的String.Format语句和字符串注入:(简化讨论)
MyRepository.Users.SqlQuery("Select * from Users where Name = {0}", "Bob");
Run Code Online (Sandbox Code Playgroud)
有没有办法在Entity Framework DbSqlQuery类中使用命名参数?
var param = new ObjectParameter(":p0", "Bob");
MyRepository.Users.SqlQuery("Select * from Users where Name = :p0", param);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3685 次 |
| 最近记录: |