我正在尝试在yii中实现CSRF验证。我已经编写了自己的类,除了我的post变量(对于表单)不包含令牌这一事实外,一切正常。我应该在post变量中自己设置令牌吗? Yii文档声明post变量由每个表单中的隐藏字段设置。是否需要在表格中进一步实施?我知道令牌不存在,因为我通过转储它看到了Post变量。
答案 0 :(得分:1)
我猜你需要的一切就是在配置中启用CSRF验证,并使用CHtml表示表单(Yii Guide)。这里你需要配置:
'components'=>array(
'request'=>array(
'enableCsrfValidation'=>true,
),
),
答案 1 :(得分:0)
除了启用CSRF验证之外,您还需要在表单中放置Yii CSRF令牌。我遇到的最简单的方法之一是使用CHtml beginForm
,它将其作为生成表单标记的一部分。更多信息:http://www.yiiframework.com/doc/api/1.1/CHtml#beginForm-detail