实体框架函数是否会自动转义输入以防止注入?
在我的 SQL DB 层中,我有一个 SPROCnvarchar(max)
作为输入。在我的 EDMX 中,SPROC 映射到函数导入,因为methodName(string input)
我需要手动转义输入以防止注入还是实体框架自动执行此操作?
实体框架函数是否会自动转义输入以防止注入?
在我的 SQL DB 层中,我有一个 SPROCnvarchar(max)
作为输入。在我的 EDMX 中,SPROC 映射到函数导入,因为methodName(string input)
我需要手动转义输入以防止注入还是实体框架自动执行此操作?
要看...
EF 确实为您转义输入,因此在大多数情况下您是安全的。
但是,如果您在带有输入的过程中创建动态 SQL 或使用输入调用另一个函数或过程,您仍然会受到 SQL 注入攻击。
为了防止 SQL 注入,必须遵循执行路径的最后一部分并确保输入经过验证。
只需使用存储过程,您就不需要转义输入,除非您在存储过程中构建稍后将执行的动态 SQL。