我有一个模型User
假设我已经从该模型创建了一个新对象
$x = new User;
并从_POST var
设置其属性$x->lastName = $_POST["last_name"];
如果我做了
$x->save();
是否可以从SQL注入中获得保护?
谢谢
答案 0 :(得分:2)
首先进行$model->save()
模型的验证,所以根据模型中定义的验证规则验证变量,如果有错误,则不会保存模型,赢得的值进入你的数据库,因此没有注射。
验证规则在模型的规则数组中定义,已经有许多内置验证类,这里是nice wiki article给验证器类的入门。
您还可以定义your own validators。
因此,只要您清理(或验证)您的输入,您就可以了。
答案 1 :(得分:2)
Yii使用PDO进行连接,所以是的,它可以安全地从SQL注入。
但XSS并不安全。 http://www.yiiframework.com/doc/guide/1.1/en/topics.security http://www.yiiframework.com/wiki/275/how-to-write-secure-yii-applications/#hh11