所以我被告知这种方法是不安全的,因为人们可以伪造会话并使用它的变量。
这里是我的脚本的一小部分:PHP会话不安全?需要另一种方法
<div class="panel-body text-center">
<?php
if(!isset($_SESSION['steamid'])) {
steamlogin(); //login button
}
else
{
include ('steamauth/userInfo.php');
include ('db.php');
$mysqli = mysqli_query($db,"UPDATE `users_steam` SET name='".$steamprofile['personaname']."', avatar='".$steamprofile['avatarfull']."' lastseen='".time()."' WHERE steamid='".$_SESSION["steamid"]."'");
echo "<img class='img-responsive center-block rounded' src='".$steamprofile['avatarmedium']."' title='' alt='' /></img><br>"; // Display their avatar!
echo "<span>".$steamprofile['personaname']."</span>";
logoutbutton();
}
?>
</div>
如果用户没有登录,则显示登录按钮。如果相反,那么我会显示他的头像和名称,并更新我的数据库。
$ _SESSION ['steamid']变量cointains用户STEAM ID,在用户通过蒸汽登录时检索。除了$ _SESSION变量,还有其他什么方法来包含这个ID并在我的网站中进一步使用它?
谢谢
'所以我被告知这种方法是不安全的 - 请引用 - 我的银行使用会话,所以如果他们如此不安全,我想知道是否向他们投诉或不......如果我这样做,我需要证据支持索赔 –
我听说session_regenerate()会给会话一个新的ID,但我不知道这是否是我的问题的答案。 – Nedas
是的,您可以更改您的服务器上引用某些数据的会话ID,但您需要知道由PHP设置的cookie的确切值。但你不能改变'$ _SESSION []' –