主题版本
1.3.5
Bug 类型
该 Bug 是后端问题
浏览器
此问题与前端无关
普遍性
是
问题描述
Argon 在前台请求中 无条件调用 session_start() 并下发 Cookie(包括 PHPSESSID 和 argon_user_token),即使是未登录访客访问普通文章页或首页。
导致cdn无法缓存
在functions.php 419-435行
//访问者 Token & Session function get_random_token(){ return md5(uniqid(microtime(true), true)); } function set_user_token_cookie(){ if (!isset($_COOKIE["argon_user_token"]) || strlen($_COOKIE["argon_user_token"]) != 32){ $newToken = get_random_token(); setcookie("argon_user_token", $newToken, time() + 10 * 365 * 24 * 60 * 60, "/"); $_COOKIE["argon_user_token"] = $newToken; } } function session_init(){ set_user_token_cookie(); if (!session_id()){ session_start(); } } session_init(); //add_action('init', 'session_init');
复现步骤
//访问者 Token & Session
function get_random_token(){
return md5(uniqid(microtime(true), true));
}
function set_user_token_cookie(){
if (!isset($_COOKIE["argon_user_token"]) || strlen($_COOKIE["argon_user_token"]) != 32){
$newToken = get_random_token();
setcookie("argon_user_token", $newToken, time() + 10 * 365 * 24 * 60 * 60, "/");
$_COOKIE["argon_user_token"] = $newToken;
}
}
function session_init(){
set_user_token_cookie();
if (!session_id()){
session_start();
}
}
session_init();
//add_action('init', 'session_init');
截图
No response
附加说明
No response
主题版本
1.3.5
Bug 类型
该 Bug 是后端问题
浏览器
此问题与前端无关
普遍性
是
问题描述
Argon 在前台请求中 无条件调用 session_start() 并下发 Cookie(包括 PHPSESSID 和 argon_user_token),即使是未登录访客访问普通文章页或首页。
导致cdn无法缓存
在
functions.php419-435行//访问者 Token & Session function get_random_token(){ return md5(uniqid(microtime(true), true)); } function set_user_token_cookie(){ if (!isset($_COOKIE["argon_user_token"]) || strlen($_COOKIE["argon_user_token"]) != 32){ $newToken = get_random_token(); setcookie("argon_user_token", $newToken, time() + 10 * 365 * 24 * 60 * 60, "/"); $_COOKIE["argon_user_token"] = $newToken; } } function session_init(){ set_user_token_cookie(); if (!session_id()){ session_start(); } } session_init(); //add_action('init', 'session_init');复现步骤
//访问者 Token & Session
function get_random_token(){
return md5(uniqid(microtime(true), true));
}
function set_user_token_cookie(){
if (!isset($_COOKIE["argon_user_token"]) || strlen($_COOKIE["argon_user_token"]) != 32){
$newToken = get_random_token();
setcookie("argon_user_token", $newToken, time() + 10 * 365 * 24 * 60 * 60, "/");
$_COOKIE["argon_user_token"] = $newToken;
}
}
function session_init(){
set_user_token_cookie();
if (!session_id()){
session_start();
}
}
session_init();
//add_action('init', 'session_init');
截图
No response
附加说明
No response