我们都知道古老的“禁用提交按钮”技巧,但是服务器端处理多个提交的最佳方法是什么?我有一个应用程序,它绝对是critical表格仅发送一次 - 它处理信用卡。我没有写出现在的情况,但作为一个快速修复,我使用了禁用提交技术,但是一些禁用了 javascript 的不耐烦的用户仍然被收取两次费用。
那么,有哪些方法可以避免这种情况呢?我可以想到一些 - 我过去使用过一些 - 但我想看看是否有任何“最佳实践”来解决这个问题。我正在使用 PHP,但我对概念更感兴趣。
edit:我知道令牌技术,这是我过去使用过的,这个问题或多或少是为了看看我的方法是否与你们其他优秀程序员使用的方法一致。
一种真正有效的方法是随请求一起提交令牌,并保留已使用令牌的列表。如果令牌无效,或者令牌已被处理,则中止。
令牌可以像一个递增的整数一样简单,存储在隐藏的文本字段中,或者您可以对其进行加密以提高安全性。通过在创建页面时生成令牌、对其进行加密,然后确认令牌已生成且尚未被处理,可以使此功能更加强大。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)