Проблема с safe в правилах модели

Привет у меня к примеру есть на сайте пользователи у которых есть личные данные

Сделан Action Для изменения личных данных


public function actionProfile(){

        $model = Users::model()->find('id=?', array(Yii::app()->user->user_id));

        $model->setScenario('profile');


        $this->performAjaxValidation($model);


        if(isset($_POST['Users'])){

            $model->attributes = $_POST['Users'];


            if($model->validate()){

              if($model->save()){

                Yii::app()->user->setFlash('profile_good', Yii::t('good', 'profile_edit'));

                //$this->refresh();

              }

            }

        }


        $this->render('profile',array('model'=>$model));

    } 

А вот правила в модели


    public function rules()

    {

        // NOTE: you should only define rules for those attributes that

        // will receive user inputs.

        return array(

            /* GLOBAL */

            array('icq, phone, regTime', 'numerical', 'integerOnly'=>true),

            array('balance, icq, phone', 'numerical'),

            array('login, lastname, firstname', 'length', 'max'=>32, 'min'=>4),

            array('passwd', 'length', 'max'=>32, 'min'=>6),

            array('phone', 'length', 'max'=>10, 'min'=>10),

            array('icq', 'length', 'max'=>9, 'min'=>5),

            array('email', 'length', 'max'=>64),

            array('email', 'email'),




            /* PROFILE */

            array('email, lastname, firstname, phone, icq', 'safe', 'on'=>'profile'),

            //array('login', 'unsafe', 'on'=>'profile'),

            array('email, lastname, firstname', 'required', 'on'=>'profile'),

            array('email', 'validEmailDb', 'on'=>'login'),





        );

    } 

В итоге можно произвести замену параметра login хотя он не указан как безопасный параметр

Как быть?

Есть указать его unsafe то все ок, но такой вариант мне не нравится, должно и через safe работать

Но ведь правило для логина действует на все сценарии. Используя unsafe, можно исключить его из списка безопасных для конкретного сценария, если я верно понимаю суть проблемы.

Спасибо. andy_s, верно все.

На русском форуме уже помог Sam Dark