用于检测到的查询字符串操作的HTTP状态代码

时间:2014-10-20 14:32:44

标签: http query-string http-status-codes

如果服务器检测到客户端已经篡改了URI的查询字符串,那么使用的最佳HTTP状态代码是什么?

1 个答案:

答案 0 :(得分:0)

了解篡改的本质是很重要的。如果您只是想禁止人们访问某些网址,403通常是最合适的。

但可能会有更具体的内容。

  

假设我们有一些类型的集合,可以通过一些标识符(... / collection / 1)访问这些项目。现在让我们假设用户可以使用具有按钮的GUI来访问标识符在1和100之间的项目,例如设置其余呼叫的按钮,而不是标识符> 100.现在,如果用户在浏览器中操作HTML和请求并尝试访问id = 200的项目,那么哪种状态代码最适合返回?

让我们说/collection/101。如果该项目存在,但不允许用户访问该项目,则403是合适的。

如果101 永远不会可供任何人访问,因为例如101实际上是通过/collection2/101访问的,404状态代码是最合适的。

如果/collection/101无法访问,则因为服务器具有需要更改或首先解决的“状态”。此状态可以由用户解决,并且不是访问控制问题,409 可能是合适的。但我会说,这通常不适合GET等请求。

您描述它的方式,听起来更像是一个权限问题。那么403就是一个简单的选择。