Validation 如何使CakePHP验证更加安全?
最近,我完成了关于使用CakePHP创建简单博客的教程-以下是链接: 创建验证表单非常简单和快速,但我注意到了一个问题 名为post.ctp的文件包含:Validation 如何使CakePHP验证更加安全?,validation,cakephp,cakephp-2.3,Validation,Cakephp,Cakephp 2.3,最近,我完成了关于使用CakePHP创建简单博客的教程-以下是链接: 创建验证表单非常简单和快速,但我注意到了一个问题 名为post.ctp的文件包含: echo $this->Form->create('Post'); echo $this->Form->input('title'); 并使用此输入向最终用户生成表单: <input id="PostTitle" type="text" required="required" maxlength="50"
echo $this->Form->create('Post');
echo $this->Form->input('title');
并使用此输入向最终用户生成表单:
<input id="PostTitle" type="text" required="required" maxlength="50" name="data[Post][title]">
如何保护我的应用程序而不允许他人更新数据库中的其他列?请查看。至少有两种方法可以解决这个问题
save()
时,可以将fieldlist
作为第三个参数传递save()
之前,可以设置模型的白名单
属性save()
时,可以将fieldlist
作为第三个参数传递save()
之前,可以设置模型的白名单
属性一定要使用安全组件。阅读链接手册页面了解更多信息。一定要使用安全组件。有关更多信息,请阅读链接的手册页面。谢谢。它工作得很好。我刚刚将组件中的行更新为
public$components=array('Session','Security')代码>并且没有更多要配置的内容。它一开始就工作。当我尝试做同样的事情时,我得到了一条信息“请求已被黑洞”。完美的他们应该在第一个教程中包括这一点,因为这很重要。谢谢。它工作得很好。我刚刚将组件中的行更新为public$components=array('Session','Security')代码>并且没有更多要配置的内容。它一开始就工作。当我尝试做同样的事情时,我得到了一条信息“请求已被黑洞”。完美的他们应该在第一个教程中包括这一点,因为这很重要。
class Post extends AppModel {
public $validate = array(
'title' => array(
'rule' => 'notEmpty'
),
'body' => array(
'rule' => 'notEmpty'
)
);
}
public $components = array('Security');