Wordpress破坏了PHP会话和表单验证令牌不匹配

Wordpress破坏了PHP会话和表单验证令牌不匹配,php,session,Php,Session,出于某种原因,当它生成一个令牌时,它会在会话中存储另一个令牌,它是一个完全随机的令牌 这是我的令牌类代码- class Token { protected static $token; public static function generate() { if(!self::$token){ self::$token = md5(uniqid()); } return Session::put(Config::get('session/token_name'

出于某种原因,当它生成一个令牌时,它会在会话中存储另一个令牌,它是一个完全随机的令牌

这是我的令牌类代码-

class Token {

protected static $token;

public static function generate() {
    if(!self::$token){
    self::$token = md5(uniqid());
    }
    return Session::put(Config::get('session/token_name'), self::$token);
}


public static function check($token) {
    $tokenName = Config::get('session/token_name');

    if(Session::exists($tokenName) && $token === Session::get($tokenName)) {
        Session::delete($tokenName);
        return true;
    }

    return false;
}
} 
这是我的会话类代码-

class Session {
public static function exists($name) {
    return (isset($_SESSION[$name])) ? true : false;
}

public static function get($name) {
    return $_SESSION[$name];
}

public static function put($name, $value) {
    return $_SESSION[$name] = $value;
}

public static function delete($name) {
    if(self::exists($name)) {
        unset($_SESSION[$name]);
    }
}

public static function flash($name, $string = null) {
    if(self::exists($name)) {
        $session = self::get($name);
        self::delete($name);
        return $session;
    } else if ($string) {
        self::put($name, $string);
    }
}
}
Config::get('session/token\u name')
只返回
'token'

我在其他任何地方都不会生成一个新的令牌,因为它只会返回一个令牌,因为它是静态变量

WordPress为什么要这样做


请帮帮我,我已经连续10个多小时试图让它工作了

用于生成函数-

public static function generate() {
    if(!Session::get(Config::get('session/token_name'))){
    return Session::put(Config::get('session/token_name'), md5(mt_rand())); 
    }
    else{
    return Session::put(Config::get('session/token_name'), Session::get(Config::get('session/token_name')));
    }
}

这可以确保您只为每个会话创建一个。

检查您是否有
favicon.ico
,例如,如果该文件不可用,chrome总是尝试下载该文件,这会删除您的令牌…代码中的
会话启动()
在哪里?@inf3rno在WordPress加载之前它在index.php中