boaPHP开发手册v5.5

security类
版本 1.0+
命名空间 boa
文件 boa/security.php
说明 安全类,继承base类,配置:'SECURITY' => [],
配置
配置项 默认值 类型 说明
xss_tags ['script', 'base'] array XSS防御时,过滤HTML标签,忽略大小写
xss_events ['on*'] array XSS防御时,过滤DOM事件, *代表正则[a-z]+,忽略大小写
csrf_key CSRF-TOKEN string CSRF防御时,存储或传送token的键名
csrf_type 1 int CSRF防御时,校验类型;0=关闭,1=前端方式,2=后端方式,3=混合方式
csrf_expire 0 int CSRF防御时,token有效期(秒),0=不限
目录
方法 说明
cfg() 获取或设置配置信息
xss() (XSS)跨站脚本过滤
create() (CSRF)在一个页面中生成token
check() (CSRF)在另一个页面中检查token,type=0时或命令行下不做检查
validate() (CSRF)在另一个页面中校验token,check()的外层封装,不通过则报错
方法

cfg()

说明
获取或设置配置信息
参数 必须 默认值 类型 说明
$k null string
$v null string
返回值
同 base 类
示例
$security = boa::security();
$security->cfg('csrf_expire', 3600);

xss()

说明
(XSS)跨站脚本过滤
参数 必须 默认值 类型 说明
$str Y string 待过滤的字符串
返回值
返回过滤后的字符串(string)
示例
$content = $security->xss($this->content);

create()

说明
(CSRF)在一个页面中生成token
返回值
返回token(string)
示例
$token = $security->create();

check()

说明
(CSRF)在另一个页面中检查token,type=0时或命令行下不做检查
返回值
通过返回true(bool),不通过返回false(bool)
示例
$res = $security->check();

validate()

说明
(CSRF)在另一个页面中校验token,check()的外层封装,不通过则报错
返回值
通过时静默,不通过报错
示例
$security->validate();