我不知道如何使用Cake通过表单安全地传递参数。 我现在使用的方法如下:
$this->Form->create('Post', array('label' => '', 'action' => '', 'url' => 'inseratAngenommen/'.$postId));
在控制器中有:
function inseratAngenommen($id = null, $bs = null){
//stuff
}
问题是用户可以在浏览器中修改$ postId的输出编号:
action="/cakephp/posts/inseratAngenommen/149"
对于这种情况,我想在HTML中传递不可见的参数。那可能吗? 我想到了一种像Form-> PostLink提供的方法。我找不到任何东西。 提前谢谢。
答案 0 :(得分:0)
当用户发送数据时,可以通过网站安全地发送参数 。
使用cakephp的验证方法确保数据正确无误。
答案 1 :(得分:0)
1]方法一:添加模糊:通过以下方式将$ id隐藏到已发布的字段中:
$this->Form->hidden('id');
$this->Form-field('id'); // even this one will do as cake hides ids by default
2]方法二:将id保存在服务器上,例如在会话中
$this->Session->write('current-edited-post-id', $id); // upon form display
$id = $this->Session->read('current-edited-post-id'); // upon form submission
但请注意,如果用户打开多个标签并从两个标签中操作一个会话,那么方法2表现不佳:(