• Discuz支持反对提示:抱歉您的请求来路不正确或表单无法提交的解决方法


     

     

    非一般感觉博客www.zhukehua.cn):Discuz支持反对提示:抱歉您的请求来路不正确或表单无法提交的解决方法

    在内容页面点击支持或反对时总是提示:抱歉,您的请求来路不正确或表单无法提交,搜了下官方,很多人都出现这种问题,但并没有一个解决的方法。后来自己后台把模板设置成官方默认的,这种问题解决,原因已找到,原来是自己使用的模板问题,于是找到自己所使用的模板内容页文件:viewthread_node.htm
    经过细致的对比,原来自已文件里少了如下代码:

    &hash={FORMHASH}

    这样解决起来就方便了,查找如下代码:

    <a id="recommend_add" href="forum.php?mod=misc&action=recommend&do=add&tid=$_G[tid]" {if $_G['uid']}onclick="ajaxmenu(this, 3000, 1, 0, '43', 'recommendupdate({$_G['group']['allowrecommend']})');return false;"{else} onclick="showWindow('login', this.href)"{/if} onmouseover="this.title = $('recommendv_add').innerHTML + ' {lang activity_member_unit}$_G[setting][recommendthread][addtext]'"><i><img src="{IMGDIR}/rec_add.gif" alt="$_G['setting']['recommendthread'][addtext]" />$_G['setting']['recommendthread'][addtext]<span id="recommendv_add">$_G[forum_thread][recommend_add]</span></i></a>

    替换成如下代码:

    <a id="recommend_add" href="forum.php?mod=misc&action=recommend&do=add&tid=$_G[tid]&hash={FORMHASH}" {if $_G['uid']}onclick="ajaxmenu(this, 3000, 1, 0, '43', 'recommendupdate({$_G['group']['allowrecommend']})');return false;"{else} onclick="showWindow('login', this.href)"{/if} onmouseover="this.title = $('recommendv_add').innerHTML + ' {lang activity_member_unit}$_G[setting][recommendthread][addtext]'"><i><img src="{IMGDIR}/rec_add.gif" alt="$_G['setting']['recommendthread'][addtext]" />$_G['setting']['recommendthread'][addtext]<span id="recommendv_add">$_G[forum_thread][recommend_add]</span></i></a>

    再查找如下代码:

    <a id="recommend_subtract" href="forum.php?mod=misc&action=recommend&do=subtract&tid=$_G[tid]" {if $_G['uid']}onclick="ajaxmenu(this, 3000, 1, 0, '43', 'recommendupdate(-{$_G['group']['allowrecommend']})');return false;"{else} onclick="showWindow('login', this.href)"{/if} onmouseover="this.title = $('recommendv_subtract').innerHTML + ' {lang activity_member_unit}$_G[setting][recommendthread][subtracttext]'"><i><img src="{IMGDIR}/rec_subtract.gif" alt="$_G['setting']['recommendthread'][subtracttext]" />$_G['setting']['recommendthread'][subtracttext]<span id="recommendv_subtract">$_G[forum_thread][recommend_sub]</span></i></a>

    替换成如下代码:

    <a id="recommend_subtract" href="forum.php?mod=misc&action=recommend&do=subtract&tid=$_G[tid]&hash={FORMHASH}" {if $_G['uid']}onclick="ajaxmenu(this, 3000, 1, 0, '43', 'recommendupdate(-{$_G['group']['allowrecommend']})');return false;"{else} onclick="showWindow('login', this.href)"{/if} onmouseover="this.title = $('recommendv_subtract').innerHTML + ' {lang activity_member_unit}$_G[setting][recommendthread][subtracttext]'"><i><img src="{IMGDIR}/rec_subtract.gif" alt="$_G['setting']['recommendthread'][subtracttext]" />$_G['setting']['recommendthread'][subtracttext]<span id="recommendv_subtract">$_G[forum_thread][recommend_sub]</span></i></a>

    后台更新一下缓存即可.
    其实这里只是分别在如下代码后面加&hash={FORMHASH}即可

    1.<a id="recommend_add" href="forum.php?mod=misc&action=recommend&do=add&tid=$_G[tid]

    2.<a id="recommend_subtract" href="forum.php?mod=misc&action=recommend&do=subtract&tid=$_G[tid]

    来源:http://www.discuz.net/thread-3216362-1-1.html

    解决 discuz“抱歉,您的请求来路不正确或表单验证串不符,无法提交”

    作者: /分类:Discuz!X /15,417 views 
    字号:L M S
     
     

    一般出现 “抱歉,您的请求来路不正确或表单验证串不符,无法提交” 这种问题的地方都是在提交表单的时候出现的。

    因为discuz 在提交表单的时候 会进行校验,submitcheck()函数,这个函数首先会校验表单中的formhash,如果formhash出现问题,那么就会出现“抱歉,您的请求来路不正确或表单验证串不符,无法提交” 这种问题。

    submitcheck()这个函数 放在 sourceclasshelperhelper_form.php 中。

    解决方法:

    第一种方法:

    请检查你本地的时间是否和服务器的时间一致。如果不一致请同步时间,更新缓存。

    第二种方法:

    请检查你提交的表单中,是否有<input type="hidden" name="formhash" value="{$formhash}">,如果没有请手动添加上去。(这种情况一般会在IE6上面出现,其他浏览器正常。)

    第三种方法:

    打开“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)){ } .虽然不安全,但是也是一种解决方法。

     

    第五种方法:

    重装disucz....

  • 相关阅读:
    设计模式-观察者模式
    ps一寸照的编辑
    ps剪切蒙版的使用
    ps扣头发
    mysql索引优化
    ES6 $ ES5
    sping-mybatis集成
    多线程--volatile
    eclipse.exe打开是报错
    Spring Aop 详解二
  • 原文地址:https://www.cnblogs.com/alibabaidu/p/3529445.html
Copyright © 2020-2023  润新知