我们有一个核心的PHP应用程序。我们从安全机构进行了测试,他们通知我们我们的站点存在跨站点脚本问题。他们在大多数页面上报告了相同的问题。他们报告的确切错误是
跨站脚本(已反映) /users/main/commoncontacts.php [提供的任意URL参数的名称]
他们还共享了发送的GET请求:
/users/main/commoncontacts.php/v8hhi“>警报(1)g2gx7
我花了很多时间在寻找解决方案。每个人都在谈论停止注入的不同方法,但主要都是在谈论参数值而不是参数名称。那么,当传递不存在的参数名称时,应该如何处理?
我的一个假设是,我将使用parse_url和parse_str函数检查可疑参数,如果找到可疑参数,则我将显示错误消息或发送错误响应。
请帮助。
答案 0 :(得分:-1)
这就是为什么我们需要验证以及修剪,需要的htmlentities和htmlspecialchars的原因