登录一个标签时自动登录其他标签

Auto login on other tabs when one tab is logged in

好的,我正在尝试在我的本地主机上测试会话 fixation/hijacking。

我正在尝试将我的 URL 和攻击者的 SID 提供给受害者,并让受害者登录 URL。但是当受害者登录时,攻击者刷新了页面,还是在登录页面。

然后我发现,如果我在浏览器中有两个登录选项卡,受害者在选项卡 1 中登录,但选项卡 2 刷新后不会自动登录。所以这可能就是我的攻击者停留在登录页面的原因?

我的问题是 我必须在我的 php 文件中做什么才能让用户在其他选项卡中自动登录(如果他已经在一个选项卡中登录)? 这种情况应该查什么关键词?

会话使用 cookie 来记住用户是否登录。当您启动会话 (session_start()) 时,服务器会发送一个具有唯一会话 ID 的会话 cookie。当用户请求需要登录的页面时,服务器会检查带有 id 的 cookie 以确保其有效。

Session Fixation 和 Session HiJacking 非常相似,主要区别在于会话如何被破坏。永远不要把 SESSID 放在 URL 中,你只是在要求被黑客攻击。相反,我建议您在用户登录时创建一个会话变量。
EG:

自动登录:检查代码

session_start();
if(isset($_SESSION['logged_in'])){
    header("location:loginonlypage.php")
}

PREVENT SESSION HIJACKING/FIXATION:
然而,仅仅因为你的session id不在url中并不意味着session hijacking/fixation 不会发生。使用用户的 ip 作为保护措施来防止这种情况。还要确保将会话 cookie 设置为仅 HTTP,这样 Javascript 就不会被诱惑吃掉你的 cookie :)

ini_set('session.cookie_httponly', 1); //SET HTTP ONLY COOKIE
    if (!isset($_SESSION['last_ip'])) {
        $_SESSION['last_ip'] = $_SERVER['REMOTE_ADDR'];
    }

    if ($_SESSION['last_ip'] !== $_SERVER['REMOTE_ADDR']) {
        session_unset();
        session_destroy();

    }