asp.net – 可接受的安全性:使用Paramatised SQL和HTML编码字符串禁用ValidateRequest?

前端之家收集整理的这篇文章主要介绍了asp.net – 可接受的安全性:使用Paramatised SQL和HTML编码字符串禁用ValidateRequest?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试确保我的webforms ASP.NET应用程序尽可能安全,它只接收具有登录功能用户接收并将用户输入数据存储到sql数据库(通常的东西),因此一般公众无法使用.

通过对输入页面禁用ValidateRequest,我感谢存在XSS攻击的风险 – 所有SQL查询都是参数化的,因此从sql注入是安全的(正确吗?).

我可以在输入文本上使用HTMLencode,而不是使用Anti-XSS库吗?然后我存储HTMLencoded字符串?

或者我是以错误的方式看待它?我应该逐字存储用户输入,然后在输出到浏览器的任何时候输入HTMLencode或XSS-HTMLencode吗?

解决方法

好吧,阅读它似乎常见的智慧是逐字存储输入,不做任何调整,只需参数化以防止sql注入.

这里有一些好评:What are the best practices for avoiding xss attacks in a PHP site

然后使用HTML Encode(似乎可以使用),或者使用XSS-Library对输出进行编码 – 如上面的链接中所述,数据的目标可能在稍后的某个时间点不是浏览器.

然后在这里使用XSS攻击的例子:https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet将其中一些输入到数据库,并回读到浏览器.使用正确的编码,您应该看到文本,而不是执行脚本.

猜你在找的asp.Net相关文章