gpt4 book ai didi

asp.net - 可接受的安全性 : Disable ValidateRequest with Paramatised SQL and HTML Encoded Strings?

转载 作者:行者123 更新时间:2023-12-02 14:26:46 33 4
gpt4 key购买 nike

我试图确保我的 webforms ASP.NET 应用程序尽可能安全,它接收用户输入数据并将其存储到 SQL 数据库(通常的东西),仅适用于登录的用户,因此不可用于普通大众。

通过对输入页面禁用 ValidateRequest,我意识到存在 XSS 攻击的风险 - 所有 SQL 查询都是参数化的,因此可以安全地免受 SQL 注入(inject)(正确吗?)。

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

还是我看问题的方式不对?我应该逐字存储用户输入,然后在将其输出到浏览器时使用 HTMLencodeXSS-HTMLencode 吗?

最佳答案

好吧,通读一遍,似乎普遍的看法是逐字存储输入,不做任何调整,只需参数化即可防止 SQL 注入(inject)。

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

然后要么进行 HTML 编码(似乎很脆弱),要么使用 XSS 库对输出进行编码 - 正如上面的链接中所述,数据的目的地稍后可能不是浏览器。

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

关于asp.net - 可接受的安全性 : Disable ValidateRequest with Paramatised SQL and HTML Encoded Strings?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16588433/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com