为什么这不足以防止重复提交表格
Why is this not enough for preventing double submission of form?
我一直使用的解决方案如下:
$('form').submit(function(){
$('input[type=submit]', this).attr('disabled', 'disabled');
});
但是,当我查看有关此的其他问题时,人们提出了过于复杂的解决方案,这使我认为上述内容还不够。
如果您只想防止人们意外提交两次表单,这有什么缺点?
这适用于 意外双重提交 ,但大多数时候,这种过于复杂的方法是针对试图规避您安全的黑客和其他用户实施的,例如那些试图通过刷新页面注册数百名用户来向网站发送垃圾邮件的人。
这就是为什么许多表单使用由服务器生成的令牌,该令牌仅对一次提交有效,例如,一个IP仅获得一个令牌。
防止双重提交的唯一真正方法是在服务器端检查它。
客户端代码非常不可靠,客户端可以很容易地更改。
相关文章:
- 是否可以使用动作=“;someFunction()"提交表格时
- 在提交过程中使用同步确认灯箱提交表格
- 在提交未提交表格时替换Div
- 返回假后提交表格
- NG模型在提交表格时未注册
- 提交表格前检查条款和条件
- 可以'不要在express/angular应用程序上提交表格
- return false dos't禁止提交表格
- 使用Greasemonkey提交表格
- 使用AngularJS在视图中预先填写并提交表格
- 在提交表格之前,请检查是否填写了重述2
- 提交表格后留下的表格
- 避免在按下“”时提交表格;输入“;按钮
- 在提交表格时IE8赢得了't将来自输入的属性以外的属性添加到请求中
- 为什么这个代码显示异常行为?(未提交表格)
- 为什么这不足以防止重复提交表格
- 点击链接提交表格并发送到多个电子邮件 ID
- Phonegap Camera API (iOS) 提交表格
- 验证通过后提交表格
- 提交表格后在同一页面上统计