我查看了 this post ,但我不明白是否使用此代码
我很容易受到会话固定攻击:
myPage.php
<?php
ini_set("session.use_cookies",0);
ini_set("session.use_only_cookies",0);
ini_set("session.use_trans_sid",1);
session_start();
$_SESSION['myName'] = "myNameIsOk";
if($_SESSION['myName'] === "myNameIsOk" ){
print_r($_SESSION);
print_r($_COOKIE);
}
?>
我只使用此代码,并且我没有使用网址参数或任何其他内容,因此
这段代码容易受到php会话固定攻击吗?如果有,怎么样?我不是php专家..
你能发布一个攻击的例子吗?
答案 0 :(得分:-4)
当您使用url传递ID时,会附加会话固定攻击,例如:
http://unsafe.example.com/?SID=I_WILL_KNOW_THE_SID
如果其他人访问此链接,他可以访问其他人帐户。
为避免这种情况,您必须不接受来自GET / POST变量的会话标识符。
不要使用:
ini_set("session.use_trans_sid",1);
但是:
ini_set("session.use_trans_sid",0);
它禁用透明的SID支持。
与基于cookie的会话管理相比,基于URL的会话管理具有额外的安全风险。用户可以通过电子邮件向其朋友发送包含活动会话ID的URL,或者用户可以将包含会话ID的URL保存到他们的书签,并且例如始终使用相同的会话ID访问您的站点。
您可以在此处详细了解会话固定: