gpt4 book ai didi

javascript - 我应该采取什么预防措施来防止用户提交的 HTML 上发生 XSS?

转载 作者:搜寻专家 更新时间:2023-11-01 04:49:39 25 4
gpt4 key购买 nike

我正计划制作一个网络应用程序,允许用户在我的网站上发布整个网页。我正在考虑使用 HTML Purifier但我不确定,因为 HTML Purifier 会编辑 HTLM,而且维护 HTML 的方式很重要。所以我在考虑制作一些正则表达式来摆脱所有脚本标签和所有 javascript 属性,如 onload、onclick 等。

我刚才看到一个谷歌视频,它有一个解决方案。他们的解决方案是使用另一个网站发布javascript,这样就无法访问原始网站。但我不想为此购买新域名。

最佳答案

对于这种事情要小心自制正则表达式

像这样的正则表达式

s/(<.*?)onClick=['"].*?['"](.*?>)/$1 $3/

看起来它可能会摆脱 onclick 事件,但你可以用它来规避它

<a onClick<a onClick="malicious()">="malicious()">

在上面运行正则表达式会得到类似的东西

<a onClick ="malicious()">

您可以通过在该字符串上重复运行正则表达式直到它不匹配来修复它,但这只是绕过简单的正则表达式 sanitizer 程序是多么容易的一个例子。

关于javascript - 我应该采取什么预防措施来防止用户提交的 HTML 上发生 XSS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1317598/

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