gpt4 book ai didi

java - XSS攻击防范

转载 作者:数据小太阳 更新时间:2023-10-29 06:03:53 25 4
gpt4 key购买 nike

我正在开发一个网络应用程序,用户可以在其中回复博客条目。这是一个安全问题,因为它们可以发送将呈现给其他用户(并由 javascript 执行)的危险数据。

他们无法格式化他们发送的文本。没有“粗体”,没有颜色,什么都没有。只是简单的文字。我想出了这个正则表达式来解决我的问题:

[^\\w\\s.?!()]

因此,任何不是单词字符(a-Z、A-Z、0-9)、不是空格、“.”、“?”、“!”、“(”或“)”的内容都将被替换为空字符字符串。每个引号都将替换为:“"”。

我在前端检查数据,在我的服务器上检查。

有人可以绕过这个“解决方案”吗?

我想知道 StackOverflow 是如何做这件事的?这里有很多格式,所以他们必须好好处理。

最佳答案

如果您只需要简单的文本不要担心过滤特定的 html 标签。你想要 PHP 的 htmlspecialchars() 的等价物.使用它的一个好方法是 print htmlspecialchars($var,ENT_QUOTES); 这个函数将执行以下编码:

'&' (ampersand) becomes '&'
'"' (double quote) becomes '"' when ENT_NOQUOTES is not set.
''' (single quote) becomes ''' only when ENT_QUOTES is set.
'<' (less than) becomes '&lt;'
'>' (greater than) becomes '&gt;'

这是在最底层解决 XSS 问题,你不需要一些你不理解的复杂库/正则表达式(而且可能是不安全的,毕竟复杂性是安全的敌人)。

确保通过运行 free xss scanner测试您的 XSS 过滤器 .

关于java - XSS攻击防范,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2781574/

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