【发布时间】:2011-01-16 19:17:38
【问题描述】:
我正在为我的网站的表单提交使用以下安全性(不可见验证码)以防止自动提交:
- 在数字 x 上使用固定盐生成 md5 的结果并渲染它 在表单内作为隐藏字段
- 生成 2 个隐藏字段 a 和 b,其中 a + b = x,a 和 b 是 未加密
- 提交后,使用javascript添加另一个普通隐藏字段c 其中 c=a+b
- 在服务器端在 c 上应用 md5 和 salt,与加密比较 x
然而,这样的系统在生产中被破解,一个人能够成功地自动提交数千张表格。知道怎么做吗?
一种方法是,黑客已经知道操作是+(通过观察javascript很容易发现),读取表单并添加a和b,创建一个带有额外c字段的新表单,其中c =a+b。他必须先阅读一个表格,然后创建一个提交。
我的问题是:
- 我在上面提出的假设是否可能破坏我的系统?
- 如果是这样,我应该怎么做才能防止这种黑客攻击?
- 黑客可能会使用哪些其他替代黑客手段?
我不想使用真正的验证码,因为它会降低用户体验。欢迎所有建议。
【问题讨论】:
标签: captcha