我有一个 check_session.php 文件,用于检查用户会话是否在登录后启动,情况如下:
有两个网址:
https://www.website.com/control/user/
它里面有一个指向另一个 URL 的链接:
https://www.website.com/b2b/user/
在每一页的开头你甚至有代码:
<?php
if( !session_id() ) {
session_start();
}
header('Access-Control-Allow-Origin: https://www.website.com');
?>
文件 check_session.php 对于两种环境都是相同的,但是当在 target="_blank" 中打开链接时,另一个 URL 通过文件 verify.php 并且 $_SESSION['user'] 无法识别并转发用户退出环境,但源选项卡不会丢失会话:
<?php
if( !isset($_SESSION['user']) ) {
session_regenerate_id(true);
unset($_SESSION['user']);
session_destroy();
session_start();
echo "<script>window.alert('Unauthorized access [SECTION OFF]!');</script>";
echo "<script>parent.location.href='home/';</script>";
exit();
}
?>
考虑到目标 URL 调用是通过标签和 Jquery .ajax() 完成的;
非常感谢,谢谢!