我对 cakephp2 表单的安全性有疑问。假设我们启用了安全组件,并且已经构建了用户身份验证、权限和产品管理系统。
我们需要创建一个 Offer Request 功能,它允许用户请求特定产品的报价。
用户登录并单击“询问”并转到 /offer_requests/add/product_id
场景一:
在 /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'));
?>
场景二:
在 /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 中添加():
<?php
$this->request->data['OfferRequest']['user_id'] = $this->Session->read('Auth.User.id');
?>
我的问题是哪种情况更安全,例如防止以其他用户的身份发出虚假请求。对于场景 1,安全组件是否允许通过 Firebug 或其他软件来操作输入值?