数据模型篇

数据模型目录路径:#your WAFPHP path#/Lib/Model/

所需继承接口:ModelInterface

所需实现方法:

  1. getInstance,为避免多实例的资源损耗,数据模型统一使用单例模式,数据模型初始化将自动调用此方法
  2. getDefaultConfig,数据模型默认配置,将会与用户配置覆盖合并,以用户配置为主
  3. sessionExists,判断session是否有效,session中保存有颁布session时的请求IP,当IP改变时session失效
  4. sessionBreath,session心跳,用客户端每次请求将更新session的有效时间,以确保维持session有效状态
  5. proclaimSession,颁布新的session,当前客户端无有效session时将重新颁布session并记录当前客户端IP
  6. addSessionValue,向session中保存数据
  7. delSessionValue,删除session中已保存数据
  8. getSessionValue,获取session中已保存数据
  9. isBlackIP,检测当前客户端IP是否存在全局黑名单IP列表中
  10. isWhiteSession,检测当前客户端session是否存在全局白名单session列表中
  11. addBlackIP,添加IP到全局黑名单IP列表中
  12. addWhiteSession,添加session到全局白名单session列表中
  13. delBlackIP,删除黑名单IP列表中的IP,当没有输入前缀时为操作全局黑名单
  14. delWhiteSession,删除白名单session列表中的session,当没有输入前缀时为操作全局白名单
  15. get,通用获取储存值的方法,
  16. set,通用储存值的方法,为避免造成储存数据积压,如无特殊情况每一个储存值均应设置有效时间
  17. del,通用删除储存值的方法
  18. getError,获取最后的详细错误信息
  19. quit,系统退出时将自动调用此方法清理所占用的资源

备注:此文所述session均为系统自有session,与PHP原有session无关联

检测脚本篇

检测脚本目录路径:#your WAFPHP path#/Lib/Waf/

所需继承接口:WafInterface

所需实现方法:

  1. getDefaultConfig(默认配置),为避免因配置缺失而导致系统无法正常运行,每一份检测脚本都应配备默认配置
  2. getError(获取错误信息),当检测脚本返回错误时系统将自动调用该方法获取详细错误信息
  3. run(运行脚本检测),参数$config为以当前脚本名称命名的配置参数(WAFYOUR SCRIPTCONFIG),检测脚本可根据配置参数决定整个脚本执行;参数$client中为当前客户端请求的参数(IP、GET、POST、UA、Cookie、Host),检测脚本可根据请求参数判断请求是否合法