我阅读了很多文章,发现会话无法在没有cookie的情况下工作但尝试过并找到方法请提供反馈意见?
步骤1)首先禁用并清除我使用chrome的浏览器的cookie数据。
步骤2)创建一个包含以下代码的页面one.php。 我首先检测到用户代理,即ipaddress和我的密钥在第二页上将其转换为MD5,以便进行独特的用户检测。
$uagent = base64_encode($_SERVER["HTTP_USER_AGENT"]);
echo $ip = md5($_SERVER["REMOTE_ADDR"]."MYSECRETKEY".$uagent);
echo "<br>";
echo session_id($ip);
session_start();
$_SESSION['data'] = array("name"=>"bbbbbbbb","designation"=>"software_engineer");
print_r($_SESSION);
step3)创建另一个页面two.php
$uagent = base64_encode($_SERVER['HTTP_USER_AGENT']);
echo $ip = md5($_SERVER['REMOTE_ADDR']."MYSECRETKEY".$uagent);
echo "<br>";
echo session_id($ip);
session_start();
print_r($_SESSION);
我在two.php页面上找到了数据。因此我们可以设置会话并获取没有cookie的数据。 任何反馈我错了或者这真的是一个解决方案吗?
答案 0 :(得分:0)
只要用户代理和远程地址相同,这就可以工作。但如果你知道
,你可以劫持一个会话访问者将此数据提交给他访问的每个网站,但无法阻止!劫持是一项非常简单的任务,如果访问者之前访问过一个不良网站,保存了数据。
这不是一个真正安全的解决方案!不要用它!
编辑:好的,你必须欺骗IP地址,这有点复杂:-)但是在公共网络中,问题仍然存在,甚至可能发生冲突。