![]() |
1
12
不,一点也不。 例如,我仍然可以将用户名输入为:
为了充分保护自己免受SQL注入攻击,您应该转义任何用户输入,并使用参数化查询或存储过程(如果使用存储过程,请确保存储过程中没有动态生成的SQL)与数据库交互。 |
![]() |
2
6
你不必费心在他们的用户名/密码中寻找特殊的单词/字符。因为你总是会错过一些东西。 相反,如果您嵌入了SQL,则应该使用参数化查询。如果您对所有查询都这样做,那么您就不会受到sql注入的影响。现在,XSS是另一回事。。;)
|
![]() |
3
2
使用存储过程或参数化查询将阻止SQL注入。 1) 此外,如果使用的是ASP.NET,则可以启用页级属性“ValidateRequest=True”,该属性可以验证任何输入字符串是否会导致脚本注入 2) 确保没有向最终用户显示系统生成的实际错误。这将导致黑客进一步调查并破坏系统。 3) 如果使用webservice使用数据并将数据同步到数据库,请在持久化数据之前验证所有必需的字段。 |
![]() |
4
1
避免SQL注入的最简单方法是使用参数化查询。
请看这个问题:
简而言之,我从不使用连接字符串查询,而是始终使用参数。这样,根本就没有危险,这是防止SQL注入的最安全的方法。 |
![]() |
5
0
其次,不要忘记,在UI中进行什么验证并不重要,人们总是可以构造自定义HTTP请求并将它们发送到服务器(简单地说就是使用firebug进行编辑)。 |
![]() |
6
0
就像别人说的。参数化输入。
但请注意我如何在实际的SQL字符串中使用变量,并使用“da.SelectCommand.Parameters.AddWithValue”分配变量
|
![]() |
7
-1
|
![]() |
A B · C#Excel自动调整列避免长文本时出错 5 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 5 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 5 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 5 月前 |