gpt4 book ai didi

php - 在一些 HTML 标签因 XSS 转义后,重新转义它们

转载 作者:行者123 更新时间:2023-12-03 06:49:39 34 4
gpt4 key购买 nike

我在数据库中存储了html,我需要将其输出到页面。

  • 如果我不 escape() 它,那么我会得到我想要的粗体格式,但我面临着从未转义的 html 源中获得 XSS 的风险。
  • 如果我 escape() 它,那么它会显示原始 html 代码 <b>bold text</b>而不是粗体文本

如何转义除某些标签之外的所有内容?我正在考虑应用 escape(),然后搜索 <b></b>并摆脱他们。那行得通吗?您发现任何安全问题吗?我也不确定如何搜索 <b></b>标签。正则表达式可能是这样还是什么?

附注我的意思是 escape() 是 Zend 中的一个函数。我相信它相当于 htmlspecialchars()

最佳答案

不转义才是正确的出路。如果您只将几个要从 html 转义转换回来的标记列入白名单,那么您就不会遇到 XSS 漏洞。

解决方法标记在这方面没有提供任何优势,正如许多失败的 BBcode 解析器所证明的那样。

(不过,使用 HTMLPurifier 可能是明智的选择,而不是来回转换。)

关于php - 在一些 HTML 标签因 XSS 转义后,重新转义它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6194913/

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