java - JSF 提交按钮 - 表单在一秒钟内提交 X 次(直到重新创建 View ) - 如何防止它?

标签 java javascript jsf

当我提交表单(按 ENTER 键或单击鼠标)时遇到问题 - 如果我快速按 x 次,则重新创建实际 View 的速度会更快(例如,一秒内按十次) ,表单数据发送十次并十次保存到数据库。

无论是否有一些验证,例如检查数据只能保存一次。

下次提交, View 刷新后,工作正常。数据未保存,因为 validator 正在工作..

因此,恶意用户填写了表单,而不是正常提交​​,而是快速单击提交按钮,直到重建 View ,并且我在数据库中有 X 条记录而不是一条:-)

如何防止这种奇怪的行为?

如何禁止按提交按钮直到 View 重建?

最佳答案

您可能想要添加类似 DoubleClickFilter 的内容到您的web.xml。 另一种方法是使用 token ,您可以验证每个请求并在第一个请求后变得无效,以便后续请求无法通过验证。

关于java - JSF 提交按钮 - 表单在一秒钟内提交 X 次(直到重新创建 View ) - 如何防止它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7282940/

相关文章:

java - 子元素的子元素

javascript - HighCharts:如何在多个轴上绘制直线,例如具有固定 X 轴且具有不同值的plotLines

javascript - 将 AngularJs 脚本列表从 HTML 代码中取出

javascript - 页面加载时未加载日期和时间

java - JSF、数据表和 onRowClick

jsf - 在 Primefaces DataTable 中表示一个 boolean 值

java - 如何使用箭头JavaFX使图像移动

java - 将接口(interface)的对象初始化为方法的参数?

java - 如何集中 primefaces 菜单栏?

java - Eclipse 调试器中的 Stacktrace