Authentication 登录功能在子域上工作,但在主域上不工作

Authentication 登录功能在子域上工作,但在主域上不工作,authentication,csrf,login-script,Authentication,Csrf,Login Script,我怎么可能有一个脚本和一个登录函数在子域上工作,而另一个却没有?使用相同的MySQL数据库用户名和密码。相同的代码不起作用 if(isset($_POST['Login'])) { try { // Run CSRF check, on POST data, in exception mode, for 10 minutes, in one-time mode. NoCSRF::check( 'csrf_t

我怎么可能有一个脚本和一个登录函数在子域上工作,而另一个却没有?使用相同的MySQL数据库用户名和密码。相同的代码不起作用

    if(isset($_POST['Login'])) {

        try
        {
            // Run CSRF check, on POST data, in exception mode, for 10 minutes, in one-time mode.
            NoCSRF::check( 'csrf_token', $_POST, true, 60*10, false );
            $gump = new GUMP();
            $_POST = $gump->sanitize($_POST); // You don't have to sanitize, but it's safest to do      so.

            $is_valid = GUMP::is_valid($_POST, array(
                                    'entry' => 'required',
                                    'password' => 'required'

            ));
            if($is_valid === true) {
                login($db , $_POST['entry'] ,$_POST['password'] );

            }else{
                    $_SESSION['Error'] = $is_valid; // set error messages
                    header("location:".$_SERVER['PHP_SELF']); // redirect to php self
                    exit;
            }


        }
        catch ( Exception $e )
        {
            // CSRF attack detected
                    $result[] = 'Session expired form ignored try again .'; //$e->getMessage() . ' Form ignored.';
                    $_SESSION['Error'] = $result; // set error messages
                    header("location:".$_SERVER['PHP_SELF']); // redirect to php self
                    exit;
        }

}


function login($db , $entry , $password) {
        //session_destroy();
        $entry    = (string)$entry;
        $password = (string)$password;
        /* $db->select($table , $columns , $where ) */
        $datas    = $db->select("user", [
        "user_id",
        "username",
        "email"
        ],  [

         "AND"=>[

                "OR" => [
                    "username" => "$entry",
                    "email" => "$entry"
                    ],
                    "password"=>md5("$password"),
                    "status"  => '1',
                    "verify_status"  => '1',
                ]           

        ]);
        $error = $db->error(); // error
                    if(empty($error[2])) { // if error empty

                            if(is_array($datas) && count($datas) > 0) { // if select return result

                            extract($datas[0]);
                            $_SESSION['user_id']        = $user_id;
                            $_SESSION['user_name']      = $username;
                            $_SESSION['user_email']     = $email;
                            $_SESSION['user_is_logged'] = TRUE;
                            $_SESSION['Success'][] = "Successfully Logged In :)"; // set error messages
                            header("location:".BASE_URL); // redirect to php self
                            exit;
                            }else { // else invalid attempt
                            $_SESSION['Error'][] = "Invalid Credentials or you may not verified."; // set error messages
                            header("location:".$_SERVER['PHP_SELF']); // redirect to php self
                            exit;
                            }
                    }else {

                            $_SESSION['Error'][] = "Error on query.."; // set error messages
                            header("location:".$_SERVER['PHP_SELF']); // redirect to php self
                            exit;
                    }
}
因此,当我将代码带到服务器上时,catch块会激活,就像检测到CSRF攻击一样。到底发生了什么事`
NoCSRF和Gump是相同的。常数是一样的。htaccess是相同的

除非gump正在使用SQL,否则这里您很容易受到SQL注入的攻击,如果我的用户名是,例如
;删除表用户--是的,好的,我们需要逃避这一切。但是它是如何进入catch块的,而不是在测试站点上是另一个问题打印整个异常和堆栈跟踪,然后发布到这里,我们所知道的是有东西抛出了一个异常,我们不确定它是由您使用的任何库或框架抛出的CSRF异常,这似乎并没有在代码中显示太多。感谢您的帮助。这是您的错误日志,我们需要堆栈跟踪,print$e->getraceastring(),除非gump正在使用SQL,否则您在这里很容易受到SQL注入的攻击,如果我的用户名是,例如
;删除表用户--是的,好的,我们需要逃避这一切。但是它是如何进入catch块的,而不是在测试站点上是另一个问题打印整个异常和堆栈跟踪,然后发布到这里,我们所知道的是有东西抛出了一个异常,我们不确定它是由您使用的任何库或框架抛出的CSRF异常,这似乎并没有在代码中显示太多。感谢您的帮助。这是您的错误日志,我们需要堆栈跟踪,print$e->getraceastring()