致命错误:未捕获RuntimeException:C:\ xampp \ htdocs \ travian \ login.php中的CSRF攻击:27堆栈跟踪:#0 {main}

时间:2017-02-06 19:33:28

标签: php

if ( $_SERVER[ 'REQUEST_METHOD' ] == 'POST' ) {
     if ( !isset( $_SESSION[ 'csrf' ] ) || $_SESSION[ 'csrf' ] !== $_POST[ 'csrf' ])
            throw new RuntimeException( 'CSRF attack' );
}
$key = sha1( microtime() );
$_SESSION[ 'csrf' ] = $key;

尝试登录时会出现此消息,我该如何解决?

我尝试删除整个代码,但我根本无法登录(页面重新加载但没有任何反应)

1 个答案:

答案 0 :(得分:2)

生成唯一键并插入每种形式的令牌。 如果再次使用旧令牌发送表单将是一个错误。

此处有更多详情: http://www.acunetix.com/websitesecurity/csrf-attacks/