我试图找到一种方法来防止用户重复提交我的表单。我有禁用提交按钮的 javascript,但仍然有偶尔的用户找到双重提交的方法。
我有一个可重用的库的愿景,我可以创建它来保护它。
在我理想的库中,代码块看起来像这样:
try:
with acquire_lock({'field1':'abc', 'field2':'def'}) as lock:
response = #do some credit card processing
lock.response = response
except SubmissionWasDuplicate, e:
response = e.response
锁表看起来像这样:
duplicate_submission_locks
- submit_hash # 提交参数的 MD5
- response # 腌制数据
- created_at # 用于扫这张表
- lock_expired # 布尔值,表示锁是否已过期
有谁知道这是否已经存在?它似乎不难写,所以如果它不存在,我可以自己写。