首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何验证授权提交的表单

如何验证授权提交的表单
EN

Stack Overflow用户
提问于 2013-05-10 11:45:18
回答 5查看 780关注 0票数 3

通常我们使用验证码来验证表单不是由机器人或脚本提交的。但在我们的应用程序中,我们不能随处可见验证码。

可以使用什么策略来验证请求来自我们自己的表单,而不是复制/组装的表单?

特别适用于jsp/servlet。虽然我谈论的是战略,而不是更多地关注技术。

EN

回答 5

Stack Overflow用户

发布于 2013-05-10 12:52:17

一种方式是在html表单中嵌入一些安全令牌作为请求参数。您可以使用各种算法来生成安全令牌。例如,基于某个随机数以及会话id生成安全令牌,因此如果黑客还窃取了会话,他将无法访问应用程序中资源

票数 5
EN

Stack Overflow用户

发布于 2013-05-23 07:30:43

听起来您很担心Cross-site Request Forgery攻击(CSRF)。

如果是这样的话,有一些框架可以在每个表单中包含一个随机令牌,作为由服务器验证的隐藏字段。我将开始寻找适用于您的特定平台的CSRF保护方法。

票数 3
EN

Stack Overflow用户

发布于 2013-05-17 02:36:01

还有两种可能性:

  1. 你可以添加一个蜜罐输入字段到你的表单,你已经通过一个CSS规则display:none使人类用户看不见它。输入字段的名称类似于'email‘。您可以在服务器端验证此字段是否为空,因为人类看不到它。拒绝任何在该字段中包含值的提交,因为机器人可能会在您的蜜罐字段中提供虚假的电子邮件地址。
  2. 当.jsp呈现时,您可以在表单中呈现隐藏的时间戳字段。检查表单提交时返回时间戳。人类通常需要几秒钟的时间来读取表单并填写每个字段。从请求表单的时间到机器人提交帖子的时间,机器人提交的速度会非常快。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16474856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档