gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 16:42:15 25 4
gpt4 key购买 nike

是否有任何方法(在 Java Servlet 中)可以确定 HTTP POST 或 GET 请求是否是通过 HTML 表单或其他方式提交的结果?

最佳答案

您可以使用隐藏的表单字段+ cookie 来做到这一点。

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

这并不完美,但应该可以让你完成 80%-90% 的工作。不过,具有良好 HTTP 技能的人仍然可以欺骗它。

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

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

关于java - 如何区分从 HTML 表单提交的 HTTP 请求和从客户端提交的 HTTP 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/131662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com