使用$_SERVER['REQUEST_URI']或$_SERVER['PHP_SELF']作为表单中的操作或作为链接中的 href是否有任何风险?
如果是这样,可以采取哪些措施来降低风险?
您在 www.example.com/form.php 上制作一个表单。一年后,您会忘记 URL 只是抓取页面加载的任何 URL。
在某些时候,假设您在框架中添加了“删除所有内容”全局选项,作为完全不同(有点奇怪)请求的一部分。
现在,有人向您发送此链接:www.example.com/form.php?delete_everything=true。由于您只是获取该 URL 并将其设置为操作,因此现在这就是表单上的操作。哎呀。XSS 攻击本质上就是这样进行的。
始终假设您的代码将以您第一次编写代码时未预料到的方式使用(甚至由您,尤其是黑客)。
你如何解决这个问题?对 URL 进行硬编码!您可以包含一个返回 URL 的函数。实际上,这就是 Symfony 或 CodeIgniter 等框架解决该问题的方式。
| 归档时间: |
|
| 查看次数: |
9216 次 |
| 最近记录: |