7

我找到了这个扩展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'],
            //..............
        ];
    )

}

这些数据是默认清理的还是必须自己清理?

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

4

2 回答 2

5

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

[['attr1', 'attr2'], function ($attribute) {
    $this->$attribute = \yii\helpers\HtmlPurifier::process($this->$attribute);
}],
于 2014-12-01T13:38:12.777 回答
0

我很惊讶在 4 个月内这个主题没有得到更多的反馈。

我认为没有简单的、万能的扩展,并且与任何 Web 应用程序一样,它取决于输入的数据类型以及您将如何存储和使用它。

但是,我认为以下 Yii1 wiki 页面仍然与 Yii2 相关,并向您展示了哪些验证是相关的以及何时:

http://www.yiiframework.com/wiki/275/how-to-write-secure-yii-applications/

于 2015-04-17T07:20:47.083 回答