0

我有一个模型User ,假设我从该模型创建了一个新对象

$x = new User;

并从 _POST var 设置其属性

$x->lastName = $_POST["last_name"];

如果我做了

$x->save();

它会受到 SQL 注入的保护吗?

谢谢

4

2 回答 2

2

当您首先执行$model->save()模型的验证时,您的变量将根据模型中定义的验证规则进行验证,如果有错误,则模型将不会被保存,值不会进入您的数据库,因此没有注射。

验证规则在模型的规则数组中定义,已经有许多内置的验证类,这是一篇很好的 wiki 文章,提供了验证器类的入门知识。

您还可以定义自己的验证器

因此,只要您正在清理(或验证)您的输入,您就可以开始了。

于 2012-09-06T15:58:55.197 回答
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

于 2012-09-06T16:11:38.873 回答