zoukankan      html  css  js  c++  java
  • discuze回放提示“抱歉,您的请求来路不正确或表单验证串不符,无法提交”

    不知从哪里看到文章,但是实用:

    背景:discuze就单纯的录制一个注册脚本,日志中没有报错,在报告中就提示“抱歉,您的请求来路不正确或表单验证串不符,无法提交””,以下方法可以解决

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

    因为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…  ----这个才治根

    可能在使用第四种方法时,回放有提示其他错误,如“用户名小于三位数”“密码不一致”等其他古怪问题,干脆来个重装,只要删除、var/www/html 下的文件,在重新拷贝upload文件,快速解决我的问题。。。终于没有了莫名其妙的问题了

  • 相关阅读:
    [Javascript] twitterbootstrap: 解决2.1版本中modal加载远程内容时,只加载一次的问题
    向大型网站学习SEO优化之道
    [Yii Framework] 使用Yii Framework开发微信公众平台
    [jQuery] ajax跨域处理方式
    [jQuery] form提交到iframe之后,获取iframe里面内容
    [Ubuntu] fatal: recursion detected in die handler
    [Yii Framework] Yii如何实现前后台的session分离
    [ubuntu] ubuntu13.04 64bit,安装FastDFS4.06过程遇到的问题和解决方案
    [转] 怎样在Ubuntu上安装Git服务器
    [ubuntu] ubuntu13.04切换桌面/工作区的方法
  • 原文地址:https://www.cnblogs.com/chongyou/p/5950127.html
Copyright © 2011-2022 走看看