用户提供任意URL参数时如何防止注入?

时间:2019-03-08 22:05:13

标签: php xss

我们有一个核心的PHP应用程序。我们从安全机构进行了测试,他们通知我们我们的站点存在跨站点脚本问题。他们在大多数页面上报告了相同的问题。他们报告的确切错误是

跨站脚本(已反映) /users/main/commoncontacts.php [提供的任意URL参数的名称]

他们还共享了发送的GET请求:

/users/main/commoncontacts.php/v8hhi“>警报(1)g2gx7

我花了很多时间在寻找解决方案。每个人都在谈论停止注入的不同方法,但主要都是在谈论参数值而不是参数名称。那么,当传递不存在的参数名称时,应该如何处理?

我的一个假设是,我将使用parse_url和parse_str函数检查可疑参数,如果找到可疑参数,则我将显示错误消息或发送错误响应。

请帮助。

1 个答案:

答案 0 :(得分:-1)

这就是为什么我们需要验证以及修剪,需要的htmlentities和htmlspecialchars的原因