消除Yii 2中的数据 - 内置还是扩展?

Bre*_*ett 7 php sanitization yii input-sanitization yii2

我找到了这个扩展名,Yii 1.1但没有看到任何相关的扩展名Yii 2.所以我想知道是否有一个或默认是内置的?

此外,在您model的表单中设置数据属性时,例如:

namespace app\models;

use yii\base\model;

class SignupForm extends Model {

    public $company_name;
    public $first_name;
    public $last_name;
    public $email;
    public $username;
    public $password;
    public $password_again;

    /**
     * Validation rules
     */ 

    public function rules() {       
        return [
            // Format some data
            [['company_name', 'first_name', 'last_name', 'email', 'username', 'password', 'password_again'], 'trim'],
            ['username', 'filter', 'filter' => 'strtolower'],
            // If company scenario, require company name
            ['company_name', 'required', 'on' => 'company'],
            //..............
        ];
    )

}
Run Code Online (Sandbox Code Playgroud)

这些数据是默认消毒还是必须自己消毒?

所以我想我的主要问题是 - 如何使用Yii 2清理数据?

小智 5

您可以尝试使用HTMLPurifier清理输入,如下所示:

[['attr1', 'attr2'], function ($attribute) {
    $this->$attribute = \yii\helpers\HtmlPurifier::process($this->$attribute);
}],
Run Code Online (Sandbox Code Playgroud)