当我提交表单(按 ENTER 键或单击鼠标)时遇到问题 - 如果我快速按 x 次,则重新创建实际 View 的速度会更快(例如,一秒内按十次) ,表单数据发送十次并十次保存到数据库。
无论是否有一些验证,例如检查数据只能保存一次。
下次提交, View 刷新后,工作正常。数据未保存,因为 validator 正在工作..
因此,恶意用户填写了表单,而不是正常提交,而是快速单击提交按钮,直到重建 View ,并且我在数据库中有 X 条记录而不是一条:-)
如何防止这种奇怪的行为?
如何禁止按提交按钮直到 View 重建?
最佳答案
您可能想要添加类似 DoubleClickFilter 的内容到您的web.xml
。
另一种方法是使用 token
,您可以验证每个请求并在第一个请求后变得无效,以便后续请求无法通过验证。
关于java - JSF 提交按钮 - 表单在一秒钟内提交 X 次(直到重新创建 View ) - 如何防止它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7282940/