当前位置:  开发笔记 > 编程语言 > 正文

如何区分从HTML表单提交的HTTP请求和从客户端提交的HTTP请求?

如何解决《如何区分从HTML表单提交的HTTP请求和从客户端提交的HTTP请求?》经验,为你挑选了1个好方法。

是否有任何方法(在Java Servlet中)确定HTTP POST或GET请求是否来自HTML表单提交的结果?



1> Jonathan Ark..:

您可以使用隐藏的表单字段+ cookie来完成它.

您可以做的是设置一个随机数,并将其作为表单的隐藏字段.然后,您可以将其应用于与表单一起发送的cookie.cookie应链接到隐藏字段,并且还应包含某种nonce.最后,在提交表单时,您可以检查cookie和隐藏字段,看看它们是否正确.如果需要,请将其链接到表单原始请求的IP地址和用户代理.你甚至可以用一些Javascript来加强这一切.将隐藏字段设置为空白,然后使用一些ajax从服务器请求隐藏字段nonce.

这不是完美的,但那应该可以让你获得80%-90%的奖励.拥有不错的HTTP技能的人仍然可以欺骗它.

然而,它提出了一个问题,为什么要区分该级别的请求?

或者你真的只想弄清楚用户是否点击了"提交"按钮?(如果是这种情况,则提交按钮的名称/值对应位于请求实体/查询字符串中...取决于表单方法.)

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有