我对php比较陌生,希望你能帮助我理解为什么你应该在'echo'ing时清理html,特别是如果数据来自cookie..
即代替
<h3>Hello, <?php echo $_COOKIE['user']; ?>!</h3>
你应该做
<h3>Hello, <?php echo htmlspecialchars($_COOKIE['user']); ?>!</h3>
这就是我的理解。
cookie 存储在客户端,因此存在安全风险,因为其中的数据可以被邪恶的用户操纵/更改(lol @ evil)。
但是由于 cookie 存储在客户端,这意味着客户端只能更改自己的 cookie,这意味着如果他在 $_COOKIE['user'] 中添加某种恶意代码,当 cookie 运行时,恶意代码将只显示给一个用户(谁首先更改了 cookie)而不是其他任何人!?所以有什么问题?