cakephp中有没有内置方法防止表单重复提交
时间:2011-03-31
来源:互联网
如我做一个用户注册功能,点提交到信息确认页面,点提交,入库(入库时不在做信息的校验了如:用户名是否已存在,在进入信息确认页时,会做相应check)。
我在入库完成后,点浏览器的后退按钮会返回到信息确认页,这时在点击提交,由于没有做校验,那用户的信息就会重复入库.
我只想问的cakephp内置方法.像令牌验证这些方法我知道的.
由于接触cake没多久.希望了解的能具体说一下.
我在入库完成后,点浏览器的后退按钮会返回到信息确认页,这时在点击提交,由于没有做校验,那用户的信息就会重复入库.
我只想问的cakephp内置方法.像令牌验证这些方法我知道的.
由于接触cake没多久.希望了解的能具体说一下.
作者: bj2012 发布时间: 2011-03-31
有个security组件.具体操作改如何进行?看官方文档,没有提到我这种情况,是不是得自己写个方法??
作者: bj2012 发布时间: 2011-03-31
我在入库完成后,直接打开一个新窗口进行提示,新窗口打开后,关闭打开这个新窗口的就窗口!
这个就不会有提交前的页面了!
这个就不会有提交前的页面了!
作者: hnxxwyq 发布时间: 2011-03-31
看看http://www.ibm.com/developerworks/cn/opensource/os-php-cake3/
这里说了
浅谈缓存
虽然使用 requireAuth 保护操作有很明显的优点,但是也有一些需要克服的缺点。大多数缺点都属于 “缓存问题”。
每当表单被 requireAuth 评估时,都会生成验证密钥。这意味着,如果一个用户提交一个含有已用过的密钥的表单,则该表单提交操作将被视为无效。在几种情况下会出现这个问题,包括(但不仅限于)使用多个浏览器窗口、使用 Back 按钮返回前一个页面、浏览器缓存、代理服务器缓存等等。您可能会把这些问题看成是用户错误,因此不予理会;您应该抵制诱惑,并着手处理无效的表单提交。
如果你使用security,在提交表单时,cakephp会自动将表单中的token和session的进行校验的,那你可以在你入库后,将session中的token值unset一下.不论用户以什么方式返回到确认页,在提交,cakephp会进行检查的,检查不通过就会回滚,你可以自己写个回滚方法,进行提示.
要是清楚核心代码.这个流程你就明白了.
这里说了
浅谈缓存
虽然使用 requireAuth 保护操作有很明显的优点,但是也有一些需要克服的缺点。大多数缺点都属于 “缓存问题”。
每当表单被 requireAuth 评估时,都会生成验证密钥。这意味着,如果一个用户提交一个含有已用过的密钥的表单,则该表单提交操作将被视为无效。在几种情况下会出现这个问题,包括(但不仅限于)使用多个浏览器窗口、使用 Back 按钮返回前一个页面、浏览器缓存、代理服务器缓存等等。您可能会把这些问题看成是用户错误,因此不予理会;您应该抵制诱惑,并着手处理无效的表单提交。
如果你使用security,在提交表单时,cakephp会自动将表单中的token和session的进行校验的,那你可以在你入库后,将session中的token值unset一下.不论用户以什么方式返回到确认页,在提交,cakephp会进行检查的,检查不通过就会回滚,你可以自己写个回滚方法,进行提示.
要是清楚核心代码.这个流程你就明白了.
作者: daly2008 发布时间: 2011-03-31
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28