个性化阅读
专注于IT技术分析

跨站请求伪造(CSRF)保护

CSRF保护不受诸如用户注册或添加注释之类的表单元素的攻击。创建CSRF是为了防止将表单值发送到我们的应用程序之外。为了解决这个问题, 我们以每种形式生成一个随机的随机数(令牌)。

我们在会话中添加令牌, 然后验证令牌。通过比较表单将数据回传到应用程序中, 并将其与会话提交的会话中的令牌存储到会话中。

例子

<?php echo Tag::form('session/login') ?>

    <!-- Login and password inputs ... -->

    <input type='hidden' name='<?php echo $this->security->getTokenKey() ?>'
        value='<?php echo $this->security->getToken() ?>'/>
</form>

然后, 在控制器的操作中, 你可以检查CSRF令牌是否有效:

<?php

use Phalcon\Mvc\Controller;

class SessionController extends Controller
{
    public function loginAction()
    {
        if ($this->request->isPost()) {
            if ($this->security->checkToken()) {
                // The token is OK
            }
        }
    }
}
赞(0)
未经允许不得转载:srcmini » 跨站请求伪造(CSRF)保护

评论 抢沙发

评论前必须登录!