安全性

框架的安全性通常是非常重要的,而大部分的安全问题都来源于编码人员对用户输入参数的信任而未作数据验证,MixPHP 提供了一个功能强大又使用简单的模型验证器,该验证器参考了 Yii,并且做了许多简化与扩充,如果你使用过 Yii,那么你很快就能掌握。

Web 方面通常的安全风险为:SQL注入跨站脚本攻击,下面分别介绍下 MixPHP 的安全机制。

SQL注入

MixPHP 通过两层机制来防止SQL注入:

  • 模型验证器:使用模型验证器,能对用户的输入做全面的验证,使不安全的注入数据无法进入到数据库去执行。
  • Pdo组件:该组件基于 pdo 扩展,组件内部封装了 语句预处理 功能,使SQL与参数分离,确保不会发生SQL 注入。

跨站脚本攻击 (XSS)

跨站脚本攻击通常是在 string 类型的字段进入数据库,MixPHP 的模型验证器有专门针对 XSS 的处理。

  • 模型验证器:string 验证器的 filter 参数提供了 'strip_tags', 'htmlspecialchars' 两个方法专门用于过滤或转义跨站脚本攻击。