您的位置:首页 > 帝国cms教程

帝国CMS 8.0 插件"非法来源"问题解决教程

2025-12-09 17:50:01 帝国cms教程 217
  • 点击设置按钮提交表单时弹出"非法来源"提示

1. PHP头部引用

<?php
define('EmpireCMSAdmin','1');
require("../../class/connect.php");
require("../../class/db_sql.php");
require("../../class/functions.php");
require("../../data/dbcache/class.php");
$link=db_connect();
$empire=new mysqlquery();
//验证用户
$lur=is_login();
$logininid=$lur['userid'];
// ...其他用户变量
//获取hash
$ecms_hashur=hReturnEcmsHashStrAll();

2. 表单页面写法

<form method="post" action="do.php<?=$ecms_hashur['whehref']?>">
  <table>
  <?=$ecms_hashur['form']?>
    <tr class="header">
      <td>标题
        <input type="hidden" name="enews" value="setextend">
        <?=heformhash_get('setextend',0)?>
      </td>
    </tr>
  </table>
</form>

3. 处理页面(do.php)

$enews=$_POST['enews'];
if(empty($enews)){
    $enews=$_GET['enews'];
}
hCheckEcmsRHash();  // 获取enews之后再验证

 

4. 链接格式
场景    格式
不带参数    href="page.php<?=$ecms_hashur['whehref']?>"
带参数    href="page.php?id=1<?=$ecms_hashur['ehref']?>"
关键要点
使用 whehref - 自带 ? 前缀,用于不带其他参数的链接
添加 heformhash_get('操作名',0) - 表单独立认证码
不需要 LoadLang - 不引用语言文件也能正常工作
$ecms_hashur['form'] 放在 table 内部

相关推荐

  • 帝国cms7.5升级到帝国cms8.0插件提示

    帝国cms7.5升级到帝国cms8.0插件提示"非法来源"的方法

    问题原因 :帝国CMS 8.0 为了防止 CSRF(跨站请求伪造)攻击,对后台的所有数据提交(POST)和敏感操作(GET)都增加了严格的哈希(Hash)验证

    帝国cms教程 2025-12-08 12:01:16 245
  • 帝国cms8.0搜索提示页面界面

    帝国cms8.0搜索提示页面界面

    使用方法:解压出来的index.php文件替换 e/message/index.php 文件。

    帝国cms教程 2025-12-07 20:09:12 147
  • 在vue中使用插件的步骤

    在vue中使用插件的步骤

    在 Vue 中使用插件的步骤在 Vue 中使用插件是一个便捷的方式,可以向你的 Vue 应用程序中添加功能。以下是使用 Vue 插件的步骤:1. 安装插件npmnpm install --

    前端笔记 2024-04-29 18:21:09 195
  • uniapp小程序插件分包后怎么获取

    uniapp小程序插件分包后怎么获取

    UniApp 小程序插件分包后如何获取UniApp 小程序支持插件分包,分包后的插件可以独立于主包发布和更新。要获取分包中的插件,可以按照以下步骤操作:1. 在主包中引用分包插件在主包的 文件中添加

    前端笔记 2024-04-11 20:44:18 74
  • uniapp怎么使用插件

    uniapp怎么使用插件

    在uniapp中使用插件1. 安装插件打开HBuilderX,点击菜单栏中的“插件”-“插件管理”在插件市场中搜索所需的插件并将其安装2. 配置插件打开项目根目录下的文件,在字段中添加要使用的插件组

    前端笔记 2024-04-11 20:44:14 226