在hasOne关系中保存相应的数据

时间:2012-10-05 08:05:19

标签: cakephp cakephp-2.1

正如我在其他帖子中所读到的那样,表格的id与frist模型有关,必须由表单中的隐藏字段设置。

echo $form->input('Gallery.id', array('type'=>'hidden', 'value'=>$showcase['Gallery']['id']));

(见Update hasone relation behaves strangely (cakephp)上的问题)

但这不是那么冒险,因为任何人都可以编辑这个隐藏的字段值,并且会更新另一个数据集。

尝试使用与hasOne / belongsTo关系关联的2个模型更新整个数据集时,避免此类安全问题的最佳选择是什么?

THX

最佳

斯蒂芬

2 个答案:

答案 0 :(得分:0)

第一个选项是对保存

进行多次查询和检查

第二个选项是http://book.cakephp.org/2.0/en/core-libraries/components/security-component.html#form-tampering-prevention

所以无论什么方法在你的特定情况下效果最好......

答案 1 :(得分:0)

您可以切换到使用UUID。只需要将主键和外键更改为char(36),cake将完成剩下的工作。