【发布时间】:2014-02-05 18:11:24
【问题描述】:
当我们通过标准 model->save() 调用时,Yii 正在将转义字符串保存在数据库中。我知道安全问题,对于这种情况,我仍然不希望 yii 转义我的字符串并将其完全保存在 $_POST 中。怎么可能?
【问题讨论】:
标签: security activerecord yii escaping
当我们通过标准 model->save() 调用时,Yii 正在将转义字符串保存在数据库中。我知道安全问题,对于这种情况,我仍然不希望 yii 转义我的字符串并将其完全保存在 $_POST 中。怎么可能?
【问题讨论】:
标签: security activerecord yii escaping
您可以为此使用 ActiveRecord 的 saveAttributes() 方法。
使用它:
$model = Model::model()->findByPk($id);
$model->saveAttributes(array('field' => 'name', 'field2' => 'name2'));
根据类参考:
请注意,此方法既不进行属性过滤也不进行验证。 所以不要对不受信任的数据使用此方法(例如用户发布的 数据)。
更多详情: http://www.yiiframework.com/doc/api/1.1/CActiveRecord#saveAttributes-detail
【讨论】:
啊!在加载 yii 之前,我的环境也有 wp-load。在 wp-settings 中有一个电话给wp_magic_quotes,我只是搜索并发现了它。所以我的问题实际上并不是由 Yii 自动引起的,正如我猜测的那样,它是 wordpress 自动执行此操作的。只有我们这些使用 wordpress+yii 的人,这个问题才会有帮助。
【讨论】: