gpt4 book ai didi

javascript - javascript和html中xss编码的区别

转载 作者:行者123 更新时间:2023-11-28 00:00:35 24 4
gpt4 key购买 nike

我有一些关于编码/转义字符以防止跨站脚本攻击 (XSS) 的问题。

  1. 用于 HTML 编码的相同字符编码可以用于 JavaScript 吗?例如..在 HTML 编码 < 中编码为 &lt;我可以在 JavaScript 中使用同样的方法吗?是否有内置的 JavaScript 编码 API?

  2. 除了字符 < , > , ' , " , &我还应该考虑哪些其他字符用于输出编码?

最佳答案

Can the same character encoding used for html encoding be used for javascript?

没有。 HTML 不是 JavaScript。

are there any built in javascript encoding apis?

问题标签中提到的唯一语言是 JavaScript 和 HTML。您永远不应该从 JS 内部以编程方式生成 JavaScript 源代码(只要有可能,总会有更好的方法来解决问题)。

对于其他语言,JSON 编码库通常是前进的方向。

如果您从 JS 生成 HTML,那么您不应该生成原始 HTML。请改用 DOM(createTextNodecreateElementappendChild 等)。

Apart from the characters < , > , ' , " , & what other characters should I consider for output encoding

对于 HTML 文本节点和安全 HTML 属性,这就是您需要担心的全部内容。

HTML中的其他地方,就看地方了。

当您将 URL 作为用户输入并将其放入 href 属性中时,防止 XSS 存在自身的一系列问题。

当您将用户输入放入 onclick 属性中时(通常不是一个好主意),防止 XSS 会带来另一组问题。

OWASP is a good starting point .

关于javascript - javascript和html中xss编码的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31841004/

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