如何用HTML/PHP来防止XSS?

2022-08-30 06:05:21

如何防止仅使用 HTML 和 PHP 的 XSS(跨站点脚本)?

我看过许多其他关于这个主题的帖子,但我还没有找到一篇清晰简洁地说明如何实际防止XSS的文章。


答案 1

基本上,每当你想将来自用户输入的内容输出到浏览器时,都需要使用函数htmlspecialchars()。

使用此功能的正确方法是这样的:

echo htmlspecialchars($string, ENT_QUOTES, 'UTF-8');

Google Code University也有这些关于网络安全的非常有教育意义的视频:


答案 2

最重要的步骤之一是在处理和/或呈现回浏览器之前清理任何用户输入。PHP有一些可以使用的“过滤器”功能。

XSS攻击通常具有的形式是插入指向某些包含用户恶意意图的异地javascript的链接。在此处阅读更多相关信息。

你还需要测试你的网站 - 我可以推荐Firefox附加组件[XSS Me]。看起来Easy XSS现在是要走的路。


推荐