是否有全局设置防止sql注入和XSS ?(ASP.NET)
本文关键字:XSS ASP NET 注入 全局设置 sql 是否 | 更新日期: 2023-09-27 17:51:24
是否有全局设置防止sql注入和XSS ?我用的是ASP。网(web表单)
我知道有一些方法可以过滤特殊字符,并将其放入参数字符串中。
但是现在我在维护不是我自己开发的源代码,而且项目很大,我不想更改每一个sql命令。
<pages validateRequest="true" />
这是网络。配置设置我发现,它可以防止sql注入和XSS,它有效吗?
谢谢
防止SQL注入的最好方法是:使用参数。其他任何东西都只是一种"也许它会阻止一些攻击"的军备竞赛,反对那些可以简单地反映(分解)实现以查看可能使其通过的内容的人。
同样,通过对输出进行正确编码,可以最好地防止Xss。aspx和razor都使这很容易。
No。这并不能完全保护您免受XSS攻击,也绝对不能保护sql注入。据我所知,微软希望人们停止使用它。他们正在使用黑名单来查找输入的任何潜在问题。防止XSS和sql注入的唯一方法是使用白名单。
请看这里:http://www.asp.net/aspnet/overview/web-development-best-practices/what-not-to-do-in-aspnet,-and-what-to-do-instead#validation
请求验证建议:验证用户输入,并进行编码用户的输出。
请求验证是ASP的一个特性。净,检查每个请求,并在感知到威胁时停止请求发现。不要依赖于请求验证来保护您的针对跨站点脚本攻击的应用程序。相反,验证所有来自用户的输入和编码输出。在某些有限的情况下,你可以使用正则表达式来验证输入,但在更多在复杂的情况下,您应该使用。net类来验证用户输入确定值是否与允许的值匹配。