如何使用会话ID查找IP地址?

问题描述:

其实这是一个简单的问题,但我不能问正确的问题谷歌也许。这是问题:

认为我有一个客户端连接的网站。我为每个连接的客户端存储会话ID(即sbf1qql1qikvr4vnsvbomr1d61),并且我想使用这些会话ID检索IP地址。我正在运行一个php代码如何使用会话ID查找IP地址?

[email protected]:~# php checkSessions.php 

在服务器上。和​​有一个代码类同以下snipplet

//Enter an infinite loop 
while(1) 
{ 
      //Get session ids and user ids from the database 
    $q1 = $db->getQ("SELECT user_id, session_id, FROM all_sessions"); 
    foreach($q1 as $q) 
    { 
     if($q[0]==63) 
     { 
         // Now, I need to get IP adress. I only have a session id 
     } 
    } 

      // Wait 2 seconds and do the same procedure again 
     sleep(2); 
} 

所以,你能提供的任何方法,找出使用这个会话ID,客户端的IP地址。

+0

会话与IP地址无关,并且不能用于确定IP地址。 (这就是会话修复攻击不要求你欺骗受害者的IP地址的原因。) – bdares

+0

好吧,有一个问题是:我可以找出所有连接的IP地址,只是使用php控制台? –

+0

你不能做这样的事情 –

会话不会存储IP地址或任何其他额外信息。启动时需要将它添加到会话中。即:

session_start(); 
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];