数据模型篇
数据模型目录路径:#your WAFPHP path#/Lib/Model/
所需继承接口:ModelInterface
所需实现方法:
- getInstance,为避免多实例的资源损耗,数据模型统一使用单例模式,数据模型初始化将自动调用此方法
- getDefaultConfig,数据模型默认配置,将会与用户配置覆盖合并,以用户配置为主
- sessionExists,判断session是否有效,session中保存有颁布session时的请求IP,当IP改变时session失效
- sessionBreath,session心跳,用客户端每次请求将更新session的有效时间,以确保维持session有效状态
- proclaimSession,颁布新的session,当前客户端无有效session时将重新颁布session并记录当前客户端IP
- addSessionValue,向session中保存数据
- delSessionValue,删除session中已保存数据
- getSessionValue,获取session中已保存数据
- isBlackIP,检测当前客户端IP是否存在全局黑名单IP列表中
- isWhiteSession,检测当前客户端session是否存在全局白名单session列表中
- addBlackIP,添加IP到全局黑名单IP列表中
- addWhiteSession,添加session到全局白名单session列表中
- delBlackIP,删除黑名单IP列表中的IP,当没有输入前缀时为操作全局黑名单
- delWhiteSession,删除白名单session列表中的session,当没有输入前缀时为操作全局白名单
- get,通用获取储存值的方法,
- set,通用储存值的方法,为避免造成储存数据积压,如无特殊情况每一个储存值均应设置有效时间
- del,通用删除储存值的方法
- getError,获取最后的详细错误信息
- quit,系统退出时将自动调用此方法清理所占用的资源
备注:此文所述session均为系统自有session,与PHP原有session无关联
检测脚本篇
检测脚本目录路径:#your WAFPHP path#/Lib/Waf/
所需继承接口:WafInterface
所需实现方法:
- getDefaultConfig(默认配置),为避免因配置缺失而导致系统无法正常运行,每一份检测脚本都应配备默认配置
- getError(获取错误信息),当检测脚本返回错误时系统将自动调用该方法获取详细错误信息
- run(运行脚本检测),参数$config为以当前脚本名称命名的配置参数(WAFYOUR SCRIPTCONFIG),检测脚本可根据配置参数决定整个脚本执行;参数$client中为当前客户端请求的参数(IP、GET、POST、UA、Cookie、Host),检测脚本可根据请求参数判断请求是否合法