gpt4 book ai didi

asp.net - 跨站脚本和 HTML 编码

转载 作者:行者123 更新时间:2023-12-02 12:08:43 25 4
gpt4 key购买 nike

如果我在重新显示网站用户输入的任何数据时对其进行 HTML 编码,这是否可以防止 CSS 漏洞?

此外,是否有可用的工具/产品可以为我清理用户输入,这样我就不必编写自己的例程。

最佳答案

尽管答案一般是肯定的,但这个问题有很多微妙之处。

  • 您网站的安全性很大程度上取决于您放置数据的位置。如果你把它当成合法文本,攻击者基本上就没有办法执行XSS。如果将其放入属性中,如果忘记转义引号或不检查多字节格式良好性,则可能会受到攻击。如果将其放入 JSON 变量中,未正确转义可能会导致任意 JavaScript。等等。上下文非常重要。

  • 其他用户建议使用 XSS 删除或 XSS 检测功能。我倾向于认为 XSS 删除对用户不友好;如果我发布像 这样的电子邮件地址,并且您的删除 XSS 函数认为它是 HTML 标记,则该文本会神秘地消失。如果我正在运行 XSS 讨论论坛,我不希望人们的示例代码被删除。检测更明智一些;如果您的应用程序可以判断有人正在攻击它,它就可以禁止该 IP 地址或用户帐户。但是,您应该小心使用此类功能;无辜者可能而且将会陷入交火。

  • 验证是网站逻辑的重要组成部分,但它也独立于转义。如果我不验证任何内容而只是转义所有内容,则不会出现 XSS 攻击,但有人可以说他们的生日是“音乐消逝的那一天”,应用程序也不会变得更明智。理论上,对某些数据类型进行足够严格的验证可以执行转义的所有职责(例如数字、枚举等),但无论如何,深度防御通常都是很好的做法。即使你是 100%,它也是一个整数。可能不是。

  • 转义明文是一个微不足道的问题;如果您的语言没有为您提供函数,则将字符串替换为 < , > , " , '&与其相应的 HTML 实体就可以了。 (仅当您不使用 UTF-8 时才需要其他 HTML 实体)。允许 HTML 标签并非易事,值得提出 Stack Overflow 问题。

关于asp.net - 跨站脚本和 HTML 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/223395/

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