Php Aura会话2.x-CSRF

Php Aura会话2.x-CSRF,php,session,csrf,Php,Session,Csrf,我有一个问题,是否有人有机会使用Aura Session 2.x?如果是这样,我需要帮助 我的问题是,我不知道我应该叫什么来让CSRF工作。不幸的是,从这个例子中我什么也没学到。我不能在实践中应用它 链接到示例: 我的代码:` $session_factory = new \Aura\Session\SessionFactory; $session = $session_factory->newInstance($_COOKIE); #It seems to me that there

我有一个问题,是否有人有机会使用Aura Session 2.x?如果是这样,我需要帮助

我的问题是,我不知道我应该叫什么来让CSRF工作。不幸的是,从这个例子中我什么也没学到。我不能在实践中应用它

链接到示例:

我的代码:`
$session_factory = new \Aura\Session\SessionFactory;
$session = $session_factory->newInstance($_COOKIE);

#It seems to me that there is a problem with that
$user = $session->getSegment('Vendor\Package\User');

$unsafe = $_SERVER['REQUEST_METHOD'] == 'POST'|| $_SERVER['REQUEST_METHOD'] == 'PUT' || $_SERVER['REQUEST_METHOD'] == 'DELETE';

#$user->auth->isValid() not work
#Notice: Undefined property: Aura\Session\Session::$auth
#Fatal error: Uncaught Error: Call to a member function isValid() on null
if($unsafe && $user->auth->isValid()){
    $csrf_value = $_POST['__csrf_value'];
    $csrf_token = $session->getCsrfToken(); #it works

    echo !$csrf_token->isValid($csrf_value) ? 'This looks like a cross-site request forgery.' : 'This looks like a valid request.';
} else {
    echo 'CSRF attacks only affect unsafe requests by authenticated users.';
}
`


提前感谢您的回复。

文档示例中显示的代码“$user->auth->isValid()”引用了Aura.auth库的“isValid()”习惯用法,但CSRF机制不一定要求用户登录。因此,检查用户身份验证不是强制性的,在任何情况下,您都不一定需要使用Aura.Auth库,您也可以实现自己的身份验证控制系统。

您好,欢迎光临,请分享您尝试的代码,以便我们能够帮助您欢迎使用StackOverflow!您是否阅读了文档和文档?请更新您的问题,以展示您已经尝试过的内容,并展示您在某个领域面临的具体问题。有关更多信息,请参阅,并点击网站的链接:)