业务经理

微信扫描以上二维码

028-61286886

技术咨询

不关闭禁止跨站有什么办法解决吗

迅睿框架 更新 2020-12-01 18:04:21 卧龙隐者

将帮助文档中的火车头内容采集脚本移到自定义应用中,发布提示跨站禁止提交

不关闭禁止跨站有什么办法解决吗

方案

  • 官方研发技术-袁老师 #1 · 2020-11-27 16:41:47
    通过api的方式提交不会触发跨站验证,后台设置里面关闭跨站验证但不推荐要发你的代码我看下给你加一个验证变量
  • 卧龙隐者 #2 · 2020-11-27 16:43:46
    基本和文档里的一样
    <?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;
        }
    }
    官方研发技术-袁老师
  • 官方研发技术-袁老师 #3 · 2020-11-27 16:45:58
    在你这个文件顶部谢一句话
    define('IS_INSTALL', 'cf');
  • 卧龙隐者 #4 · 2020-11-27 16:51:37
    放到哪个位置呢
    我放在huochetou()方法和class外面就报错,放在huochetou()方法里面还是提示禁止跨站官方研发技术-袁老师
  • 官方研发技术-袁老师 #5 · 2020-11-27 16:52:47
    放在文件顶部

  • 卧龙隐者 #6 · 2020-11-27 16:55:17


    获取分类时报错官方研发技术-袁老师
  • 卧龙隐者 #7 · 2020-11-30 11:52:25
    我发现这个文件/dayrui/Fcms/Extend/Security.php的开头部分的if判断加上以下代码就可以了
    elseif (APP_DIR == 'myapp') {
        return $this;
    }
    变成


    但是这样就改了系统文件,还有其他办法吗
    官方研发技术-袁老师
  • 小黄人 18html #8 · 2020-11-30 13:43:04
    好问题!
  • 卧龙隐者 #9 · 2020-11-30 15:38:58
    大佬有办法吗小黄人 18html
  • 易学习 #10 · 2020-11-30 15:44:42
  • 卧龙隐者 #11 · 2020-11-30 15:50:41
    满意答案
    文档里的做法就是用自定义入口,这个已经实现了
    但是这样要在几个地方新建文件,我就是想做到应用里,或者作成插件做新网站把这个应用复制过去就行这种有办法实现吗易学习
  • 卧龙隐者 #12 · 2020-12-01 18:04:21
    @卧龙隐者:貌似不好解决,还是按文档里的方式操作吧

迅睿系统漏洞

AI文章生成器
AI文章生成器(2026-09-20)
任务拆分独立配置 新增AI生成关键词 新增指令模板 新增品牌信...
GEO系统
GEO系统(2026-09-20)
后台 AEO 与运营端对齐:区域、跑批、CSV、补强、剧本均可在迅睿...
多语言翻译Seolang
多语言翻译Seolang(2026-09-18)
1. HTML lang 无需修改模板,自动适配当前语种页面 lan...
GeoSeo工具箱
GeoSeo工具箱(2026-09-18)
修正菜单规范
后台二次登陆验证
后台二次登陆验证(2026-09-18)
新增邮箱验证 新增短信验证
京东云短信
京东云短信(2026-09-17)
- 验证码有效期改只读展示 - 有效期旁新增系统设置按钮 - 保...
创蓝短信
创蓝短信(2026-09-17)
- 验证码有效期改只读展示 - 有效期旁新增系统设置按钮 - 保...
火山引擎短信
火山引擎短信(2026-09-17)
- 验证码有效期改只读展示 - 有效期旁新增系统设置按钮 - 保...
外贸多语言建站
外贸多语言建站(2026-09-17)
优化独立内容过滤机制