由于每个用户都有一个唯一的PHPSESSID,两个用户是否可以使用服务器上运行的标准PHP将信息注入b的SESSION数据.
请注意,我没有将此用于任何错误的目的.尝试使用它进行聊天,无需访问数据库.
感谢您的时间.
我假设你想通过发送一条消息进入B的会话,以某种方式与B聊天.
首先,A需要学习B的会话ID,可能是从列表中选择他们的名字.你几乎肯定想要加密这些会话ID,否则你已经创建了一个很好的安全漏洞!
因此,A将数据发布到包含目标会话ID和服务器的服务器.以下是我们如何临时切换会话ID以将该数据写入目标会话:
//get data from form - I'll leave the encryption of the target
//session id up to you!
$target_session_id=decryptSessionId($_POST['target']);
$message=strip_tags($_POST['message']);
//remember our "real" session id and close the session
$original_session_id=session_id();
session_write_close();
//open the target session
session_id($target_session_id);
session_start();
//add message to target session
$_SESSION['chat'][]=$message;
//close target session
session_write_close();
//reopen the "real" session
session_id($original_session_id);
session_start();
Run Code Online (Sandbox Code Playgroud)