gpt4 book ai didi

php - <script> 标签 - 留下/创建空间(<script>)会减少 XSS 的威胁吗?

转载 作者:行者123 更新时间:2023-12-04 00:30:19 26 4
gpt4 key购买 nike

我正在为我的网站创建一个聊天小部件。用户将能够输入纯文本 - 没有 html。

为了消除 HTML 标记并允许用户使用“<”和“>”,我正在接受他们的输入并在用户屏幕的输入上使用 strip_tags() 和输出上的 htmlentities() 对其进行清理—— - 使用 php。一个问题是,如果用户输入“Russia
我的问题是......如果我使用正则表达式在“<”和下一个非空格字符之间创建一个空格,这会帮助我消除 XSS 的威胁吗?它会阻止潜在的 HTML 标记在用户屏幕上呈现吗?

说,如果这样的事情溜走:



创建该空间(例如 < script...>)的一个优点似乎是 strip_tags() 将单独留下“<”。

感谢您的任何建议。

最佳答案

添加的空间足以阻止标签被 strip_tags 剥离。 , and from being rendered as HTML by browsers .

但是在什么时候你会使用这样的正则表达式呢?如果您在完成后添加它strip_tags() , 合法文本将已被剥离。如果在 strip_tags() 之前添加, 不会有任何标签要剥离,因此用户将在文本中看到间隔的 HTML 标签。

但是,如果他们无论如何都会看到(损坏的)标签,那么您为什么要这样做呢?你可以做 htmlspecialchars() ,无论如何你都必须这样做。

即使是 HTML 解析器也无济于事,因为 HTML 解析器会考虑 <China在您的示例中也是一个标签。

并且是输入 a<b 的人吗?进行比较、谈论 HTML、试图增加重点或试图注入(inject)恶意脚本?

关于php - &lt;script&gt; 标签 - 留下/创建空间(&lt;script&gt;)会减少 XSS 的威胁吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7842726/

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