0731-85521652

网站建设 APP开发 小程序 软件定制开发

KNOWLEDGE/知识信息

分享你我感悟

您当前位置>首页 > 知识信息 > 经验之谈 >

当DISCUZ出现“抱歉,您的请求来路不正确或表单

发表时间:2019-07-01 09:39

文章来源:网络

浏览次数:

Discuz这个源码程序虽然比较强大,深受广大站长朋友们使用,但是有些小问题会逐渐的形成,QQ互联有bug就算了,可是各种奇葩的问题就出现了,小编的以为粉丝站长就出现 “抱歉,您的请求来路不正确或表单验证串不符,无法提交”,这种问题的地方都是在提交表单的时候出现的。
因为discuz 在提交表单的时候 会进行校验submitcheck()这个函数,这个函数首先会校验表单中的formhash,如果formhash出现问题,那么就会出现“抱歉,您的请求来路不正确或表单验证串不符,无法提交” 这种问题。所以既然找到了这种问题的出现所以小编的解决方法又来了,当今网络的发展确实很快,虽然是这样的,但是小编也测试了很多遍才杜绝了这个问题的出现。
submitcheck()这个函数 放在 source\class\helper\helper_form.php 中。
那么我们找到了方法就好解决问题了,接下来就看小编分享的一下几种方法吧!
1、有可能是本地电脑的时间与网络的时间不一致导致,如果是这样那么我就把本地的时间与服务器的时间一致,那么服务器的时间是怎么判断的呢,就看您的空间是哪里的呢,就有美国和香港的,那么您的是美国的就和美国的时间一样,是香港的就和香港的时间一样,时间怎么找呢?百度一下各个国家的当前时间即可
2、检查提交表单中是否存在<input type=”hidden” name=”formhash” value=”{$formhash}”>,如果没有就手动添加上去。
3、修改代码的获取方法,打开“source\class\helper\helper_form.php”, 然后把“$_GET[‘formhash’] == formhash() ”修改为“$_G[‘formhash’] == formhash() ”即可。
4、在提交的动作控制器中,去掉submitcheck()验证。 (此种方法需要对discuz的核心比较熟悉。)比如,在注册的时候,你需要找到“source\class\class_member.php”文件中register_ctl类中的on_register()方法,在if(!submitcheck(‘regsubmit’, 0, $seccodecheck, $secqaacheck)) { }处,可以把submitcheck()换成if(isset($_POST)){ } .虽然不安全,但是也是一种解决方法。
5、如果以上方法都还没有解决您的问题,那么就是您的安装的源码有问题了,那么就需要从新在官网上面去下载打包上传到服务器,然后解压,这样不会导致丢失字节,所以这也是最后的解决方法了,也是最笨的解决方法了。

【瑞智恒联】致力于为湖南本土企业提供高品质的互联网解决方案服务,服务涵盖:长沙APP开发、长沙电商平台搭建、长沙分销系统开发、长沙APP外包、长沙OA开发、长沙ERP开发、长沙短信平台、长沙聚合支付、长沙网站建设、长沙小程序开发、长沙微信小程序开发、以及提供行业APP开发解决方案服务;更多详情,欢迎咨询瑞智恒联!因为专业,所以选择!
 

相关案例查看更多