帝國cms7.5升級到帝國cms8.0插件提示"非法來源"的方法
問題原因 :
帝國CMS 8.0 為了防止 CSRF(跨站請求偽造)攻擊,對后臺的所有數據提交(POST)和敏感操作(GET)都增加了嚴格的哈希(Hash)驗證。
核心機制 :
- Hash生成 :系統會根據當前登錄的管理員ID、密鑰等生成一個唯一的哈希字符串。
- 驗證要求 :所有請求必須攜帶這個哈希值,否則會被攔截并提示“非法來源”。
修復方法 :
1. URL 參數 :在鏈接中必須包含 $ecms_hashur['href'] 或 $ecms_hashur['whehref'] (帶 &h=... 的參數)。
2. 表單 POST :
- 在 <form> 的 action 屬性中, 不要 自己拼接 ?enews=xxx ,因為這會破壞哈希參數的解析。應該保持 action="do.php<?=$ecms_hashur['whehref']?>" 。
- 在表單內部使用隱藏域 <input type="hidden" name="enews" value="xxx"> 傳遞操作類型。
- 關鍵點 :對于某些特定操作,還需要在表單內部輸出驗證哈希: <?=heformhash_get('操作名', 0)?> 。這會生成一個 <input type="hidden" name="efh" value="..."> 的標簽。
3. 代碼順序 :在 do.php 處理文件中,必須 先獲取 $enews (操作類型), 然后再調用 hCheckEcmsRHash() 驗證函數,因為驗證邏輯依賴于操作類型。
相關推薦
-
帝國cms8.0搜索提示頁面界面
使用方法:解壓出來的index.php文件替換 e/message/index.php 文件。
-
在vue中使用插件的步驟
在 Vue 中使用插件的步驟在 Vue 中使用插件是一個便捷的方式,可以向你的 Vue 應用程序中添加功能。以下是使用 Vue 插件的步驟:1. 安裝插件npmnpm install --
-
uniapp小程序插件分包后怎么獲取
UniApp 小程序插件分包后如何獲取UniApp 小程序支持插件分包,分包后的插件可以獨立于主包發布和更新。要獲取分包中的插件,可以按照以下步驟操作:1. 在主包中引用分包插件在主包的 文件中添加
-
uniapp怎么使用插件
在uniapp中使用插件1. 安裝插件打開HBuilderX,點擊菜單欄中的“插件”-“插件管理”在插件市場中搜索所需的插件并將其安裝2. 配置插件打開項目根目錄下的文件,在字段中添加要使用的插件組
-
uniapp插件怎么用
Uniapp 插件的使用什么是 Uniapp 插件?Uniapp 插件是一種擴展 Uniapp 功能的組件,可以為應用添加自定義功能和數據。如何使用 Uniapp 插件?使用 Uniapp 插件主要涉















