Understanding "Safe" Validation Rules

Comparing #11 with #12

Revision #12 was created by Gismo Gismo on Oct 18, 2012, 8:29:50 AM.

Add russian version

Content

[...]
and perhaps others. It's rather scary to think what could happen if the bad guy were able to manipulate these with malicious input, but because they are not mentioned in any validation rule - `'safe'` or otherwise - they are protected.

Yii takes the conservative approach that attributes are assumed to be unsafe unless the developer explicitly makes them so (a "default deny" paradigm), rather than the easier but more dangerous "default allow".

It's wise to review the Rules in your model from time to time to ensure that you're not allowing things you should not (especially when scenarios are in play), because it's not uncommon to wildly mark things as safe during a bout of validation problems without realizing that this actaully reduces the security of the application.

 
 
Russian Version: [The PHP Times](http://phptime.ru/blog/yii/23.html)