-
Notifications
You must be signed in to change notification settings - Fork 18
FAQ control
tolizhan edited this page May 22, 2020
·
2 revisions
- 大概分三类, 输入输出数据安全, 请求意图访问限制, 安全风险功能
- 一类: 系统会对请求参数做防注入处理, 对发送视图层参数做XSS编码处理
- 二类: 包括控制层返回值和分页请求等位置只有通过安全校验才能访问
- 三类: 对错误日志 扩展管理 多语言管理 生产环境需输入密码才能访问
- 控制层的返回值与 of::dispatch() 第三个参数相同时才可访问
- 但第三个参数为 null 时除外, 它会允许访问任何类
- 我们可以自定义规则, 比如当是控制层时, 为null, 否则设置 false 来达到目的
- 当控制层返回 false 时, 不管如何都是禁止访问的
<?php //建立 M层: model, V层: view, C层: ctrl 对应文件夹 require dirname(__FILE__) . '/include/of/of.php';//调度代码, 这里的"c"参数假设是 "ctrl_test", "a"参数为 "index" if (isset($_GET['c'])) { //初始化 action 参数 empty($_GET['a']) && $GET['a'] = 'index'; //直接调用 ctrl_test 实例中的 index 方法, 只允许访问 ctrl 层, 所以不需要安全校验 null $result = of::dispatch($_GET['c'], $GET['a'], strncmp('ctrl', $GET['c'], 5) ? false : null); //返回数组转成json if (is_array($result)) echo json_encode($result); }
<?php //控制层类名以 ctrl 开头 class ctrl_test extends L { /** 描述 : 通过index.php?c=ctrl_test访问 / function index() { //调用model方法 model_demo_test::index(); } }
手册地址 http://phpof.net/
- 入门指引
-
疑难解答
- 部署时会遇到的那些常见问题
简单却容易忽视 - 框架内置有哪些管理界面
生产模式进入界面需用 __OF_DEBUG__ - 如何定制不同的架构模式
通过配置入口文件中调度方法的参数即可 - 如何面向命名空间开发
of_xx 类可以按照命名空间方式调用 - 如何设置不同的部署模式
通过_of.debug设置 开发,测试,生产 模式 - 为什么控制层类文件要返回true
这是防止非法访问的方法之一 - 为什么传到视图层的变量会被编码
这是因为 XSS 安全防范的原因 - 为什么框架没有SQL构造器
因常规方案牺牲了性能又未很好解决问题 - 如何快速开发用户及权限管理功能
单点登录(SSO)模块因此而存在 - 怎么在系统的基础上扩展底层功能
三点: 扩展开发, 预先加载, 底层钩子 - 怎么使用 Composer 依赖管理工具
框架已集成, 默认关闭状态
- 部署时会遇到的那些常见问题
- 组件使用
- 集成插件
- 扩展开发
- 开发手册