Привет у меня к примеру есть на сайте пользователи у которых есть личные данные
Сделан 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 работать