使用不同的客户端ip丢失PHP会话

使用不同的客户端ip丢失PHP会话,php,session-variables,Php,Session Variables,当我通过一个带有两个ip地址的平衡网关将客户端连接到托管服务器时,我在PHP中有一种奇怪的会话行为 我使用cookie正确初始化会话,设置会话布尔变量,并为调试打印以下信息: echo var_dump($_SESSION["islogged"]); echo var_dump(session_id()); echo var_dump($_SERVER["REMOTE_ADDR"]); 然后我多次刷新页面,得到两个结果: bool(false) string(26) "

当我通过一个带有两个ip地址的平衡网关将客户端连接到托管服务器时,我在PHP中有一种奇怪的会话行为

我使用cookie正确初始化会话,设置会话布尔变量,并为调试打印以下信息:

    echo var_dump($_SESSION["islogged"]);
    echo var_dump(session_id());
    echo var_dump($_SERVER["REMOTE_ADDR"]);
然后我多次刷新页面,得到两个结果:

bool(false) string(26) "ism1vg1de6v0b1r8b2ng337uh3" string(13) "48.129.84.146" 
bool(true) string(26) "ism1vg1de6v0b1r8b2ng337uh3" string(13) "96.19.184.38" 
bool(true) string(26) "ism1vg1de6v0b1r8b2ng337uh3" string(13) "96.19.184.38" 
bool(false) string(26) "ism1vg1de6v0b1r8b2ng337uh3" string(13) "48.129.84.146" 
bool(false) string(26) "ism1vg1de6v0b1r8b2ng337uh3" string(13) "48.129.84.146" 
bool(true) string(26) "ism1vg1de6v0b1r8b2ng337uh3" string(13) "96.19.184.38" 
...
您可以看到会话是相同的,但是会话栏会更改。 你知道怎么解决这个问题吗

这是登录检查:

$ISLOGGED=!empty($_SESSION["islogged"]) 
这是登录代码:

$ISLOGGED=$_SESSION["islogged"]=$_POST["password"]==$password;

您可能正在使用suhosin,它使用远程IP地址进行额外的会话破坏。您可能需要仔细检查配置中的值。

。你有更多的代码吗。它可能在其他地方。Php有“安全模式”之类的东西,或者类似这样的东西来检查客户端的ip?我会问主机。非常感谢。