跨站请求伪造 Yii,PHP
Posted
技术标签:
【中文标题】跨站请求伪造 Yii,PHP【英文标题】:Cross-site request forgery Yii ,PHP 【发布时间】:2012-08-14 18:06:00 【问题描述】:我正在尝试在 yii 中实现 CSRF 验证。我已经编写了自己的课程,除了我的 post 变量(用于表单)不包含 token 之外,一切正常。我应该自己在 post 变量中设置令牌吗? Yii 文档指出 post 变量由每个表单中的隐藏字段设置。它是否也需要在表格中进一步实施?我知道令牌不存在,因为我通过转储它们看到了 Post 变量。
【问题讨论】:
【参考方案1】:我想您需要的只是在您的配置中启用 CSRF 验证并使用 Chtml 进行表单 (Yii Guide)。这是您在配置中需要的:
'components'=>array(
'request'=>array(
'enableCsrfValidation'=>true,
),
),
【讨论】:
【参考方案2】:除了启用 CSRF 验证外,您还需要将 Yii CSRF 令牌放入表单中。我遇到的最简单的方法之一是使用 CHtml beginForm
,它将它作为生成表单标签的一部分。更多信息在这里:http://www.yiiframework.com/doc/api/1.1/CHtml#beginForm-detail
【讨论】:
以上是关于跨站请求伪造 Yii,PHP的主要内容,如果未能解决你的问题,请参考以下文章