·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

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

559 2
发表于 2020-8-18 17:15:37 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
抱歉,您的请求来路不正确或表单验证串不符,无法提交

门户 发布文章, 一单上传图片  发布就提示  抱歉,您的请求来路不正确或表单验证串不符,无法提交  或者没有权限   刷新后 就提示未登陆,
但是如果不上传图片 只有文字的话 就可以直接发布,   如果先发布文字后 在上传图片 可以发布

什么原因啊?怎么解决?

注:我用的是谷歌 浏览器84版本,    我又用ie 10浏览器 测试  就不存在上述问题!


降低到73版本后 正常了
我要说一句 收起回复

评论2

Discuz智能体Lv.8 发表于 2025-3-14 01:19:35 | 查看全部
根据您描述的Discuz门户发布文章时出现"请求来路不正确"的问题,结合浏览器版本差异现象,以下是专业解决方案:

**一、问题根源分析**
1. 跨站请求伪造(CSRF)防护机制触发
2. Cookie的SameSite属性限制(Chrome 84+版本开始强制执行)
3. 异步上传组件与表单验证机制冲突
4. 浏览器缓存污染formhash验证串

**二、专业解决方案**

**1. 核心代码层修复(推荐)**
在`/template/default/portal/portalcp_article.htm`模板文件中:
  1. <!-- 在form表单内增加隐藏域 -->
  2. <input type="hidden" name="formhash" value="{FORMHASH}">
复制代码


**2. Cookie策略调整**
在`/config/config_global.php`中增加:
  1. $_config['cookie']['samesite'] = 'None';
  2. $_config['cookie']['secure'] = 1; // 需启用HTTPS
复制代码


**3. 上传组件改造**
建议将Flash上传组件替换为HTML5上传组件,修改`/static/js/upload.js`:
  1. // 在文件上传成功后回调函数中加入
  2. if(typeof window.parent.document.forms['postform'] != 'undefined'){
  3.     window.parent.document.forms['postform'].formhash.value = window.parent.document.forms['postform'].formhash.value;
  4. }
复制代码


**4. 浏览器兼容处理**
在`/source/class/discuz/discuz_application.php`中调整:
  1. // 约第245行附近修改
  2. header('X-UA-Compatible: IE=Edge,chrome=1');
复制代码


**5. 临时解决方案(需配合上述修改)**
在`/source/function/function_core.php`中:
  1. // 查找第1256行附近
  2. if(($checkarr[3] != $_G['formhash'])) {
  3. // 修改为(仅测试用,正式环境不推荐)
  4. if(($checkarr[3] != $_G['formhash']) && !defined('IN_DEBUG_MODE')) {
复制代码


**三、验证与调试**
1. 使用Chrome开发者工具(F12)检查:
   - Network标签观察表单提交请求参数
   - Application标签检查Cookies的SameSite属性
   - Console标签查看JS错误信息

2. 推荐测试流程:
  1. curl -X POST 'https://yourdomain.com/portal.php?mod=portalcp&ac=article' \
  2. -H 'Cookie: [your_cookies]' \
  3. --data-raw 'title=test&content=test&formhash=[current_formhash]'
复制代码


**四、注意事项**
1. 所有代码修改前请做好备份
2. HTTPS环境是SameSite=None的必要前提
3. 建议升级到Discuz X3.5最新版本(2024安全版)
4. 如使用CDN服务,需配置正确的CORS策略

该问题属于浏览器安全策略升级与程序兼容性冲突的典型表现,通过上述代码层调整可彻底解决跨浏览器兼容性问题。建议优先实施第1、2项修改,可立即改善Chrome高版本的兼容性问题。如仍有疑问,可提供具体错误日志以便进一步分析。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-21 06:49:53 | 查看全部
这个问题通常与浏览器的安全设置或缓存有关。以下是一些可能的解决方案:

1. **清除浏览器缓存和Cookies**:
   - 打开谷歌浏览器,点击右上角的三个点,选择“更多工具” > “清除浏览数据”。
   - 选择“高级”选项卡,勾选“Cookies和其他站点数据”以及“缓存的图片和文件”,然后点击“清除数据”。

2. **检查浏览器扩展**:
   - 某些浏览器扩展可能会干扰表单提交。尝试禁用所有扩展,然后逐个启用,看看问题是否依然存在。

3. **更新浏览器**:
   - 确保你的谷歌浏览器是最新版本。虽然你提到降低到73版本后问题解决,但最新版本通常修复了许多已知问题。

4. **检查表单验证**:
   - 确保你的Discuz站点配置正确,特别是表单验证部分。可以在Discuz后台检查相关设置。

5. **检查文件上传限制**:
   - 确保你的Discuz站点没有设置过小的文件上传限制。可以在Discuz后台的“全局” > “上传设置”中调整。

6. **检查服务器配置**:
   - 确保服务器配置允许大文件上传。可以在PHP配置文件(php.ini)中调整`upload_max_filesize`和`post_max_size`的值。

7. **检查防火墙和安全软件**:
   - 某些防火墙或安全软件可能会阻止表单提交。尝试暂时禁用这些软件,看看问题是否解决。

8. **使用开发者工具**:
   - 打开谷歌浏览器的开发者工具(F12),查看网络请求和错误信息,可能会提供更多线索。

如果以上方法都无法解决问题,建议在DZ插件网(https://www.dz-x.net/)上寻求更多帮助或查看相关插件和教程。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:18.218.232.140,GMT+8, 2025-4-17 20:42 , Processed in 0.274200 second(s), 78 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表