Dalam Form  Model Yii 1 ini kita mengenal atribut safe dan unsafe. Secara praktis, atribut yang dinyatakan unsafe adalah atribut yang tidak boleh diseting melalui massive assigment, sehingga dalam massive assignment atribut yang dinyatakan unsafe akan tidak diberi assignment. Atribut yang dinyatakan unsafe hanya dapat diberi assignment dengan cara manual.

Sebagai contoh:
$model=new LoginForm;
if(isset($_POST[‘LoginForm’]))
    $model->attributes=$_POST[‘LoginForm’];

Punya pengertian yang sama  dengan
foreach($_POST[‘LoginForm’] as $name=>$value)
{
    if($name is a safe attribute)
        $model->$name=$value;
}

Pentingnya mengerti atribut unsafe ini adalah supaya kita dapat memisahkan field-field mana yang tidak boleh diberi value melalui form, tetapi hanya melalui program. Sebagai contoh adalah field permission.

Atribut ini terkait security, untuk security yang baik silahkan melakukan pengecekan pada saat awal (tampilan di user), dan saat akhir (saat mau update ke model atau database).

Untuk atribut yang yang tidak dinyatakan unsafe maka akan dilakukan pengecekan sesuai validation yang berlaku pada field itu. Itu berarti atribut yang safe dilakukan pengecekan pada validation.

Artikel ini terkait dengan http://www.proweb.co.id/articles/web_application/mengatasi_inspect_element_yii.html .

Informasi lebih lanjut silahkan mengunjungi http://www.yiiframework.com/doc/guide/1.1/en/form.model#declaring-safe-attributes.

Kunjungi www.proweb.co.id untuk menambah wawasan anda.

Atribut safe dan unsafe di Yii