在php中,当你处理GET / POST请求时,你必须检查它们等。如果参数丢失或坏了怎么办?如果它应该是某种黑客攻击,你应该怎么做?只有die();
和“dontHackMe”?
答案 0 :(得分:3)
不,不只是die()
与“dontHackMe”。我看到了两个结果:
HTTP为响应定义a list of status codes。只需选择正确的一个并回复该代码,以及某种默认的响应页面。
例如,如果请求以某种方式格式错误或不正确,则400(错误请求)响应代码是可行的方法。响应中的实际页面应该表明它是一个错误的请求,甚至可能为用户提供一个选项,以便他们在需要时寻求帮助(例如指向站点上的帮助部分的链接或指向联系表单的链接)
这种响应结构的原因有两个:
修改:澄清......这是为了回应真正的错误的请求。如果表单中提交的数据完全不正确(不符合业务规则,使用字母表中的数字等),则Michael Hampton offers a perfectly sound suggestion。本质上,服务器将“玩愚蠢”,只是重新显示表单。
不要向潜在的攻击者提供任何比他们已有的更多信息。 (请记住,错误的错误信息比他们已有的信息更多。)应用程序只是说,“嗯......你试图提交这个表单,但这是错的。在这里,再试一次。”
答案 1 :(得分:1)
除非HTTP标头本身出现问题,否则不要发送HTTP 4xx响应。
如果您收到来自客户端的无效输入,请重新显示表单,并将无效字段突出显示为无效。