Cakephp2 フォームのセキュリティについて質問があります。セキュリティ コンポーネントが有効になっていて、ユーザー認証、アクセス許可、および製品管理システムが既に構築されていると仮定しましょう。
ユーザーが特定の製品のオファーを要求できるオファー要求機能を作成する必要があります。
ユーザーがログインし、[質問] をクリックして、/offer_requests/add/product_id に移動します。
シナリオ 1:
/Views/OfferRequests/add.ctp:
<?php
echo $this->Form->create('OfferRequest');
echo $this->Form->input('user_id',
array('value' => $this->Session->read('Auth.User.id'),
'type' => 'hidden' ));
echo $this->Form->input('product_id');
echo $this->Form->input('quantity');
echo $this->Form->end(__('Submit'));
?>
シナリオ 2:
/Views/OfferRequests/add.ctp:
<?php
echo $this->Form->create('OfferRequest');
echo $this->Form->input('product_id');
echo $this->Form->input('quantity');
echo $this->Form->end(__('Submit'));
?>
そして、OfferRequestsController add() で:
<?php
$this->request->data['OfferRequest']['user_id'] = $this->Session->read('Auth.User.id');
?>
私の質問は、たとえば、他のユーザーとして誤ったリクエストを行うことに対して、どのシナリオがより安全かということです。シナリオ 1 の場合、セキュリティ コンポーネントは、Firebug またはその他のソフトウェアを介して入力値を操作できますか?