如何防止用户模拟提交表单?

2015-07-26 17:47:33 +08:00
 caobug

有个简单粗暴的方法:打开页面服务器传输一个 token 到前端,前端在提交表单时必须带上这个 TOKEN。不过我们在模拟提交表单前,可以先请求服务器拿回 TOKEN,然后再提交。。就特么畅通无阻了。

我真的想不出好方法了!!

3221 次点击
所在节点    前端开发
6 条回复
Septembers
2015-07-26 18:24:47 +08:00
做个浏览器插件,注 意 不 是 拓 展
Yo_oY
2015-07-26 19:15:14 +08:00
验证码?
publicID001
2015-07-26 19:27:50 +08:00
多因素验证
比如:由你自己生产的密码键盘 + 由你自己生产的OTP发生器 + 由你自己生产的指纹验证器

理论上因素越多验证伪造难度越大 但是无法彻底解决伪造(纯理论层面)

BTW:不要讲量子通信 我觉得LZ没这个能力
qw7692336
2015-07-26 19:42:02 +08:00
楼主的这个方案可以防止csrf,防止模拟表单最常见的方式就是验证码
breeswish
2015-07-26 20:30:20 +08:00
验证码,行为因素判断…复杂的算法生成递交串…(然而想破解还是可以破解的
caobug
2015-07-27 13:39:45 +08:00
让用户输入验证码这不大友好哦,谢谢楼上兄弟们的回答。我去研究下新浪的登录和视频网站的加密算法,看能不能找到让攻击成本高一点的方法~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/208465

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX