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上面出现,其他浏览器正常。)

第三种方法:
 

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

第五种方法:
 

时间: 2024-11-03 19:00:35

discuz x2.5升级后,提示:抱歉,您的请求来路不正确或表单无法提交的相关文章

uchome2.0提示“抱歉,您的请求来路不正确或表单验证串不符,无法提交”

问题:如题,在其他外部页面添加了一个登录表单(如下图),来直接登录到UCenter Home 2.0.表单和登录页面的表单内容一致,但POST到登录验证页面以后提示:"您的请求来路不正确或表单验证串不符,无法提交.请尝试使用标准的web浏览器进行操作." 原因:这是因为uchome采用了SS7,即站外提交的验证,只接受本网站提交来的数据.表单中含有hidden值formhash.这样就可以验证是否是从站外往网站提交数据. 解决:在提交的动作控制器中,去掉submitcheck()验证.

discuz日志评论回复提示“抱歉,您填写的内容包含不良信息而无法提交”

问题:discuz(dz)回复某用户在其他日志中的评论时,提示:"抱歉,您填写的内容包含不良信息而无法提交"(如下图).查看后台设置的词语屏蔽后未发现符合屏蔽的词汇. 解决: 1. /source/class/helper/helper_form.php 中查找 showmessage('word_banned', '', array('wordbanned' => $wordbanned)); 并在此代码前添加  showmessage($wordbanned); 2. 再次对

鼠标移动到某个单元格上后,整个列都变色的实现方法_表单特效

                        [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 以上代码可以实现鼠标移动到单元格上,单元格变色,现在我想实现鼠标移动到某个单元格上后,整个列都变色不知道可以不可以实现呢? 如何定义表格的鼠标隔列变色行为 当鼠标经过时希望实现隔列变色(最好是反色) ,效果示例如下: [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 代码已经帖上来,现在鼠标移动到单元格变色 phx.rows[i].cells[j].onmouseover=fun

js实现表单form提交前进行确认提示

window.confirm用法 confirm() 方法用于显示一个带有指定消息和 OK 及取消按钮的对话框. 例子  代码如下 复制代码 <a href=""javascript:if(confirm("确认要删除该内容?"))location="del.asp?&areyou=删除&id=1"">删除</a> 定义一个函数,优点是可重复调用:  代码如下 复制代码 <script la

教程:让你的表单升级到CSS3和HTML5客户端验证

中介交易 SEO诊断 淘宝客 云主机 技术大厅 今天我们一起来看看如何创建一个实用并且功能强大的表单,表单使用如今最热门的技术HTML5和css3来创建,并且可以通过HTML5进行客户端验证. 查看预览 第一步:策划表单功能 首先,我们得为我们的表单策划一下该有什么功能,用什么形式表现.在这个示例中,我们就制作一个比较简单的留言表单.需要的功能如下: 名称 电子邮件 网站地址 提交按钮 我们都希望用户能够填写正确的信息再提交,要实现这一点,我们可以使用HTML5客户端验证新技术.那怎么样使用这个

点击表单提交按钮后,显示出空白的页面(项目已经做好了,使用zf框架做的)。

问题描述 点击表单提交按钮后,显示出空白的页面(项目已经做好了,使用zf框架做的). 序号 时间 角色id 角色名 类型 物品id 已恢复时间 datas as $data):?> > hfsort[$data['nOperatorType']];?> ? 点击表单提交按钮后,显示出空白的页面(项目已经做好了,使用zf框架做的).在控制器相应的方法体中的第一行echo一串数字后测试任然是空白的,但是把action的值复制到浏览器的地址栏中直接访问时却可以看到echo出来的那串数字.有哪位

使用sql server management studio 2008 无法查看数据库,提示 无法为该请求检索数据 错误916解决方法_mssql2008

今日使用时代互联的海外空间,sql 2008 无限空间大小,开通账户后,使用sql server management studio 2008 连接数据库,可以链接上,但是无法查看自己的数据库,点击数据库后,提示 无法为该请求检索数据 错误916 解决方法如下 1:点击左侧的数据库,然后到右侧的 "名称"  上面点击右键   出来如图所示的菜单,取消掉策略运行状态和排序规则,再次点击数据库的时候,就能显示所有的数据库以及你自己的数据库了.

项目中通过js动态创建层的方法为表单添加错误提示

本文介绍利用动态创建层技术实现无冗余代码为表单自动添加错误提示的方法. 项目中表单输入检测是基本必定会碰到的,本文提供一种方法通过js动态创建层的方法为表单添加错误提示.该代码在IE6和firefox3.5中测试通过. 动态创建层的代码: function createDiv(msg) { //create a new empty p var str = document.createElement("p"); str.id = "newp"; //p ID str

ios表单上传图片和属性到服务器,struts2过滤后,获取不到属性值

问题描述 ios表单上传图片和属性到服务器,struts2过滤后,获取不到属性值 2C ios通过表单上传enctype=""multipart/form-data"",图片上传成功,但ServletActionContext.getRequest().getParameter("""");就获取不到值:如果不上传图片,就能获取到值.