0

他の投稿で読んだように、フリスト モデルに関連するテーブルの ID は、フォームの非表示フィールドで設定する必要があります。

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

(更新 hasone 関係の動作がおかしい (cakephp)の質問を参照)

誰でもこの非表示フィールドの値を編集でき、別のデータセットが更新される可能性があるためです。

hasOne / belongsTo 関係で関連付けられた 2 つのモデルでデータセット全体を更新しようとするときに、このようなセキュリティの問題を回避するための最良のオプションは何ですか?

どうも

ベスト・ステファン

4

2 に答える 2

0

UUIDの使用に切り替えることができます。主キーと外部キーをchar(36)に変更するだけで、残りはCakeが行います。

于 2012-12-21T00:30:21.033 に答える
0

最初のオプションは、保存時に複数のクエリとチェックを行うことです

2 番目のオプションはhttp://book.cakephp.org/2.0/en/core-libraries/components/security-component.html#form-tampering-preventionです。

したがって、特定のケースで最も効果的な方法は何ですか...

于 2012-12-20T22:59:39.300 に答える