应该发送什么HTTP代码以响应可疑的恶意请求

时间:2013-01-22 13:41:48

标签: http-headers

所以说我发现我的Web应用程序请求显然是SQL注入攻击或类似攻击。我写了一个简短的测试来检查“顽皮”字符串的请求变量。如果我找到一个,我应该回答什么代码?

我正在考虑回复“403 Forbidden”而没有内容,但我不确定。

3 个答案:

答案 0 :(得分:2)

http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
对我来说,'400:Bad request'似乎是最合乎逻辑的选择。

编辑: 也许这更多地取决于背景。

如果真的无法继续您的脚本,请返回400或404代码。

在所有其他情况下,当您的代码“检测到”恶意企图时,不应通知用户(黑客)。您的验证应该是检测无效输入的类型,而不是恶意尝试。

唯一的例外是蛮力攻击(有关如何阻止Preventing Brute Force Logins on Websites处的人的更多信息。)

例如为:
如果您的表单包含用户名的文本框,并且用户(黑客)尝试使用某种引用的SQL语句登录/注册,则您的验证应自动声明“用户名无效”。

另一方面,出于登录目的,您应该使用链接中所述的选项保护您的应用程序免受暴力攻击。

答案 1 :(得分:2)

我认为403 Forbidden意味着不应该访问资源。

因此,我会使用400 Bad Request。毕竟,只要用户提出合法请求,就允许用户访问该页面。

答案 2 :(得分:1)

如果您能够识别请求的问题,并且他们要求允许的内容,只是以偷偷摸摸的方式,您应该能够防止他们受到任何损害并且只是处理它们。但如果请求没有意义,400 Bad Request可能是最好的选择。

相关问题