discuz x2.5升级后,提示:抱歉,您的请求来路不正确或表单无法
发布:smiling 来源: PHP粉丝网 添加日期:2014-12-05 15:46:03 浏览: 评论:0
下面我们一起来看如何解决discuz x2.5升级后,提示:抱歉,您的请求来路不正确或表单无法提交问题,希望此教程对大家会带来帮助.
问题:discuz x2.5升级后(2013-02-22重要安全更新)发先论坛主题详情页在点击支持和反对是会提示:抱歉,您的请求来路不正确或表单验证串不符,无法提交.
原因:模板内容页文件对应链接缺少hash.
解决方法:
1.在viewthread_node.htm文件中分别搜索:
- <a id="recommend_add" href="forum.php?mod=misc&action=recommend&do=add&tid=$_G[tid]
- //和:
- <a id="recommend_subtract" href="forum.php?mod=misc&action=recommend&do=subtract&tid=$_G[tid]
2.在其后分别添加&hash={FORMHASH}
即,添加后为:
- <a id="recommend_add" href="forum.php?mod=misc&action=recommend&do=add&tid=$_G[tid]&hash={FORMHASH}
- //和:
- <a id="recommend_subtract" href="forum.php?mod=misc&action=recommend&do=subtract&tid=$_G[tid]&hash={FORMHASH}
3.登录discuz后台更新模板缓存.
其它如果不是因为升级问题我们可参考下面5种办法来解决,一般出现 “抱歉,您的请求来路不正确或表单验证串不符,无法提交” 这种问题的地方都是在提交表单的时候出现的.
因为discuz 在提交表单的时候 会进行校验,submitcheck()函数,这个函数首先会校验表单中的formhash,如果formhash出现问题,那么就会出现“抱歉,您的请求来路不正确或表单验证串不符,无法提交” 这种问题.
submitcheck()这个函数 放在 sourceclasshelperhelper_form.php 中.
解决方法:
第一种方法:
请检查你本地的时间是否和服务器的时间一致。如果不一致请同步时间,更新缓存。
第二种方法:
请检查你提交的表单中,是否有<input type="hidden" name="formhash" value="{$formhash}">,如果没有请手动添加上去,这种情况一般会在IE6上面出现,其他浏览器正常.//开源软件:phpfensi.com
第三种方法:
打开“sourceclasshelperhelper_form.php”,然后把“$_GET['formhash'] == formhash() ”修改为“$_G['formhash'] == formhash() ”.
第四种方法:
在提交的动作控制器中,去掉submitcheck()验证,此种方法需要对discuz的核心比较熟悉,比如,在注册的时候,你需要找到“sourceclassclass_member.php”文件中register_ctl类中的on_register()方法,在if(!submitcheck('regsubmit', 0, $seccodecheck, $secqaacheck)) { }处,可以把submitcheck()换成if(isset($_POST)){ },虽然不安全,但是也是一种解决方法.
Tags: discuz升级 discuz来路不正确
相关文章
- ·关于DISCUZ升级程序(2014-11-19)
- ·Discuz升级到X3提示对不起,您安装的不是正版应用,安装程序(2014-12-05)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)