我有一个用 PHP 编写的 Web 应用程序。模板引擎是SMARTY。我的问题很简单,但答案不应该那么容易,因为我找遍了它没有结果。
当我远程登录到端口 80 并运行以下命令时:
GET /some_directory_on_my_server/?""><SCRIPT>alert(123)</SCRIPT>
服务器返回一个 html 页面。当我保存这个 HTML 页面并在浏览器中打开它时,我在页面顶部看到 alert(123),这意味着该站点容易受到跨站点脚本 (XSS) 的攻击。
我的问题是如何访问用户输入的实际网址以对其进行清理?当涉及表单或数据库查询的用户输入清理时,场景似乎要容易得多,因为您实际上手头有一个变量可以操作,但是对于用户在浏览器中输入的实际 url,我怎么能获取网址本身以对其进行消毒?
供您参考,我已经阅读了所有为 XSS 预防提供库函数的模块,但没有一个提供有关如何处理实际 url XSS 攻击的示例。顺便说一句,我magic_quote_gpc
在我的 php 配置中已经关闭了。我现在该怎么办?有什么想法吗?