Php 如何防止在查询字符串中放置元素的XSS攻击?

Php 如何防止在查询字符串中放置元素的XSS攻击?,php,xss,Php,Xss,可能重复: 例如: http://www.mid-day.com/searchresult.php?query=%3Cscript%3Ealert%28%22This%20is%20vulnerable%20for%20XSS%20..%20by%20binny%22%29%3C/script%3E 此网站有一个基于XSS DOM的漏洞。我想知道是什么导致了此漏洞,以及如何防止它?在输出类似用户的查询字符串参数之前,您应该始终对这些参数的值进行HTML编码。你可以使用这个功能 而不是: $s

可能重复:

例如:

http://www.mid-day.com/searchresult.php?query=%3Cscript%3Ealert%28%22This%20is%20vulnerable%20for%20XSS%20..%20by%20binny%22%29%3C/script%3E

此网站有一个基于XSS DOM的漏洞。我想知道是什么导致了此漏洞,以及如何防止它?

在输出类似用户的查询字符串参数之前,您应该始终对这些参数的值进行HTML编码。你可以使用这个功能

而不是:

$str = $_GET['a'];
echo $str;
使用:


在输出来自类似用户的查询字符串参数的值之前,应该始终对这些值进行HTML编码。你可以使用这个功能

而不是:

$str = $_GET['a'];
echo $str;
使用:

你可以选择:

HTML净化器是符合标准的 用PHP编写的HTML过滤器库。 HTML净化器不仅会删除所有 恶意代码通常被称为 经过彻底审核的XSS, 安全但允许的白名单,它 还将确保您的文档 符合标准,仅此而已 可通过全面的 了解W3C规范

内置PHP函数不会响应所有类型的攻击,这就是为什么需要这种开源解决方案的原因

我还建议您看看:

你可以选择:

HTML净化器是符合标准的 用PHP编写的HTML过滤器库。 HTML净化器不仅会删除所有 恶意代码通常被称为 经过彻底审核的XSS, 安全但允许的白名单,它 还将确保您的文档 符合标准,仅此而已 可通过全面的 了解W3C规范

内置PHP函数不会响应所有类型的攻击,这就是为什么需要这种开源解决方案的原因

我还建议您看看:


决不能直接回显$\u请求、$\u POST、$\u GET或$\u服务器变量中的内容

如果你有这样的东西:

index.php?text=hai

你说:

echo$\u GET['text']

这不安全。 如果您将脚本放入其中或其他内容:

index.php?text=alertdocument.cookie

它将显示文档cookie。不太安全

提交内容时,$\u请求和$\u发布也是如此。使用$\u服务器['THIS\u URI']]

php?url=

你呢


决不能直接回显$\u请求、$\u POST、$\u GET或$\u服务器变量中的内容

如果你有这样的东西:

index.php?text=hai

你说:

echo$\u GET['text']

这不安全。 如果您将脚本放入其中或其他内容:

index.php?text=alertdocument.cookie

它将显示文档cookie。不太安全

提交内容时,$\u请求和$\u发布也是如此。使用$\u服务器['THIS\u URI']]

php?url=

你呢


更多可能的重复:在旁注上,如果你将代码的相关部分放入问题中,或放在代码板或粘贴箱中,而不是期望人们跟随一个上帝知道在哪里的短链接,你可能会得到特定站点的答案。更多可能的重复:在旁注上,如果你将代码的相关部分放入问题或代码板或粘贴箱中,而不是期望人们跟随一个上帝知道在哪里的短链接,那么你可能会得到特定站点的答案。