小编Eri*_*rty的帖子

PHP会话登录在同一服务器上的站点之间交叉

我有多个站点的 CentOS LAMP。我使用 PHP 会话变量登录到网站。我的问题是,如果您登录一个站点,您可以在同一台服务器上打开另一个站点,然后您就会登录。这些站点是完全独立的,因此我希望它们必须分别登录。每个站点都有不同的用户数据库。

这是我在登录时填充的会话变量。

$_SESSION["username"] = "$username";
$_SESSION["user_id"] = "$user_id";
$_SESSION["act_type"] = "$act_type";
Run Code Online (Sandbox Code Playgroud)

我创建了一个小示例,以便您可以重新创建问题

有 2 个独立的站点:/var/www/html/site1 /var/www/html/site2

每个站点有 2 个页面 index.php、secure.php 如果我登录一个页面,我可以打开另一个站点上的 secure.php。

/var/www/html/site1/index.php

<?php

session_start();

$user = 'jane';
$pass  = '654321';

if ( $user == $_POST[user] AND $pass == $_POST[pass] ) {

    $_SESSION[user] = $user;
    header("location: secure.php");
}
else {
    echo "Bad Login";
}

?>

<form name="form1" method="post" action="index.php">

    Username: <input name="user" type="text">
    <br />
    Password: <input name="pass" type="password">
    <br /><br />
    <input type="submit" name="Submit" value="Login"> …
Run Code Online (Sandbox Code Playgroud)

php session cross-domain

5
推荐指数
1
解决办法
4088
查看次数

标签 统计

cross-domain ×1

php ×1

session ×1