迅睿CMS框架是一款PHP8高性能·簡單易用的CMS開源開發框架,基于MIT開源許可協議發布,免費且不限制商業使用,是免費開源的產品,以萬端互聯為設計理念,支持的微信公眾號、小程序、APP客戶端、移動端網站、PC網站等多終端式管理系統。
聯系官方銷售客服
1835022288
028-61286886
將幫助文檔中的火車頭內容采集腳本移到自定義應用中,發布提示跨站禁止提交
不關閉禁止跨站有什么辦法解決嗎
通過api的方式提交不會觸發跨站驗證,
后臺設置里面關閉跨站驗證但不推薦
要發你的代碼我看下給你加一個驗證變量
基本和文檔里的一樣
<?php namespace Phpcmf\Controllers; class Home extends \Phpcmf\Common { // 火車頭接口 public function huochetou() { $key = '123123123'; $get_key = \Phpcmf\Service::L('input')->get('key'); if($key != $get_key){ echo '全局變量錯誤';exit; } $this->_module_init('news'); // news 是模塊目錄 if ($_GET['action'] == 'category') { // 顯示欄目 foreach ($this->module['category'] as $t) { if ($t['child'] == 0 && $t['tid'] == 1) { echo '<h1>'.$t['name'].'<=>'.$t['id'].'</h1>'.PHP_EOL; } } } else { // 入庫數據 $data = $_REQUEST; // 發布者id 1 $data['uid'] = 1; // 發布者賬號 admin $data['author'] = 'admin'; // 主表字段 $fields[1] = $this->get_cache('table-'.SITE_ID, $this->content_model->dbprefix(SITE_ID.'_'.MOD_DIR)); $cache = $this->get_cache('table-'.SITE_ID, $this->content_model->dbprefix(SITE_ID.'_'.MOD_DIR.'_category_data')); $cache && $fields[1] = array_merge($fields[1], $cache); // 附表字段 $fields[0] = $this->get_cache('table-'.SITE_ID, $this->content_model->dbprefix(SITE_ID.'_'.MOD_DIR.'_data_0')); $cache = $this->get_cache('table-'.SITE_ID, $this->content_model->dbprefix(SITE_ID.'_'.MOD_DIR.'_category_data_0')); $cache && $fields[0] = array_merge($fields[0], $cache); // 去重復 $fields[0] = array_unique($fields[0]); $fields[1] = array_unique($fields[1]); $save = []; // 主表附表歸類 foreach ($fields as $ismain => $field) { foreach ($field as $name) { isset($data[$name]) && $save[$ismain][$name] = $data[$name]; } } if (!$data['catid']) { exit('欄目為空'); } $save[1]['uid'] = $save[0]['uid'] = $data['uid']; $save[1]['catid'] = $save[0]['catid'] = $data['catid']; $save[1]['url'] = ''; $save[1]['status'] = 1; //9表示正常發布,1表示審核里面 $save[1]['hits'] = 0; $save[1]['displayorder'] = 0; $save[1]['link_id'] = 0; $save[1]['inputtime'] = $save[1]['updatetime'] = SYS_TIME + rand(0, 7200); $save[1]['inputip'] = '127.0.0.1'; // 驗證標題重復 // if ($this->content_model->table(SITE_ID.'_'.MOD_DIR)->where('title', $save[1]['title'])->counts()) { // echo '重復';exit; // } $rt = $this->content_model->save(0, $save); if ($rt['code']) { exit('成功'); } else { exit('失敗'); } } exit; } }
回復@官方研發技術-袁老師
在你這個文件頂部謝一句話
define('IS_INSTALL', 'cf');
放到哪個位置呢
我放在huochetou()方法和class外面就報錯,放在huochetou()方法里面還是提示禁止跨站
放在文件頂部
獲取分類時報錯
我發現這個文件/dayrui/Fcms/Extend/Security.php的開頭部分的if判斷加上以下代碼就可以了
elseif (APP_DIR == 'myapp') { return $this; }
變成
但是這樣就改了系統文件,還有其他辦法嗎
好問題!
大佬有辦法嗎
回復@小黃人 18html
二次開發方法用錯了
用這個
參考文檔:《自定義入口程序》
文檔里的做法就是用自定義入口,這個已經實現了
但是這樣要在幾個地方新建文件,我就是想做到應用里,或者作成插件
做新網站把這個應用復制過去就行
這種有辦法實現嗎
回復@易學習
通過api的方式提交不會觸發跨站驗證,
后臺設置里面關閉跨站驗證但不推薦
要發你的代碼我看下給你加一個驗證變量
基本和文檔里的一樣
回復@官方研發技術-袁老師
在你這個文件頂部謝一句話
放到哪個位置呢
我放在huochetou()方法和class外面就報錯,放在huochetou()方法里面還是提示禁止跨站
回復@官方研發技術-袁老師
放在文件頂部
獲取分類時報錯
回復@官方研發技術-袁老師
我發現這個文件/dayrui/Fcms/Extend/Security.php的開頭部分的if判斷加上以下代碼就可以了
變成
但是這樣就改了系統文件,還有其他辦法嗎
回復@官方研發技術-袁老師
好問題!
大佬有辦法嗎
回復@小黃人 18html
二次開發方法用錯了
用這個
參考文檔:《自定義入口程序》
文檔里的做法就是用自定義入口,這個已經實現了
但是這樣要在幾個地方新建文件,我就是想做到應用里,或者作成插件
做新網站把這個應用復制過去就行
這種有辦法實現嗎
回復@易學習