
正文
thinkphp表单令牌 thinkphp表单提交
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
ThinkPHP:create()方法有什么用呢?
1、create() 创建数据对象后,将自动收集提交过来的表单数据。而表单数据可能需要经过一定加工(例如将密码加密)才能写入数据表,所以可以对数据对象的成员属性值根据进行修改或添加去除等。
2、其实这种赋值方式与thinkphp的create方法没有任何关系。而是php中的魔术方法的效果。因为File对象是Model类的一个子类对象,所以“$File-photo”的赋值方法与Model类有关。
3、动态方式:使用模型类的validate方法动态创建自动验证规则。
相关问答
Q1: 谁用过thinkphp,关于防止表单重复提交
thinkphp支持表单令牌验证功能,可以有效防止表单的重复提交等安全防护。
你说的是token吧 有效防止重复提交,以及跨站伪造请求 Token,就是令牌,最大的特点就是随机性,不可预测。一般黑客或软件无法猜测出来。Token一般用在两个地方——防止表单重复提交、anti csrf攻击(跨站点请求伪造)。
token为设置在session中的一个随机数,每次用过之后就会删除,所以再次提交的时候就会提示token不正确。
用create方法可以对表单进行令牌验证,防止表单重复提交。
Thinkphp的自动验证和自动完成都是根所表单提交的内容来的,对部分数据进行规则验证和处理后插入到数据库。
Q2: PHP-ThinkPHP中的表单令牌是什么原理
1、thinkphp支持表单令牌验证功能,可以有效防止表单的重复提交等安全防护。
2、单一入口的原理就是:现在大家是进一个公共 WC,不管男女都是从最外面的入口进入,交了钱以后才分别进两个门,那最外面的入口就是这个 WC 的单一入口。
3、关闭token只要在对应模块里面用 C(TOKEN_ON,false);方法将令牌配置关闭。另外,表单令牌验证是在你创建数据对象的时候进行,验证后,不管对错,都会销毁token,下次生成新的token。
4、ThinkPHP新版内置了表单令牌验证功能,可以有效防止表单的远程提交等安全防护。
Q3: PHP避免刷新页面重复提交
可以采用ajax配合使用php可以防止刷新页面重复提交 也可以使用框架同样可以防止 你直接访问数据处理页面的时候,$_POST[title],$_POST[num] 应该是空值,所以你增加一个判断,必须有具体的值,再进行sql操作。
“b.html”),b.html里只有一个。这样做就可以保证a.html里没有。只有你的网页里有,chrome就会提示“重新提交表单”。这个情况在IE,FF则不会出现。这是我遇到的情况,希望对你有启发。
在浏览器返回上一步操作的时候,上一个页面的表单存在缓存,所以执行普通的刷新操作会有个浏览器的警告提示,这时候需要进行强制刷新的操作。
一般来说,PHP最主流的方式,是通过在表单中添加一个隐藏字段,使用类似mduniqid这类函数来生成一个随机码进行提交。验证表单的时候,可以将相应的随机码进行缓存、对比。
Q4: ThinkPHP3.1.3中的create使用总是提示“表单令牌错误”
1、模型类在创建数据对象的同时会自动进行表单令牌验证操作,如果你没有使用create方法创建数据对象的话,则需要手动调用模型的autoCheckToken方法进行表单令牌验证。如果返回false,则表示表单令牌验证错误。
2、user_new = new UserModel();data = $user_new-create();先看看Model下面是否存在UserModel类 我估计问题是你的TPL下面的index.html模版错误 表单的name值要和数据库的对应。
3、Token,就是令牌,最大的特点就是随机性,不可预测。一般黑客或软件无法猜测出来。Token一般用在两个地方——防止表单重复提交、anti csrf攻击(跨站点请求伪造)。原理上都是通过session token来实现的。
thinkphp表单令牌的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于thinkphp表单提交、thinkphp表单令牌的信息别忘了在本站进行查找喔。








