是否存在公开显示会话ID的风险?

时间:2015-10-06 20:24:37

标签: php

我想知道是否有人从HTML源码中知道我的会话ID,然后他们可以破解我的网站?

例如,如果我在html中设置一个类<div class="class<?php echo session_id(); ?>"></div>

然后HTML源代码(可以从浏览器中查看)将是<div class="class78345543545c344x"></div>

风险吗?

2 个答案:

答案 0 :(得分:2)

无论您在用户的会话中存储什么,请不要重复,不要将会话ID分享给当前用户以外的其他人。即使会话ID存储在cookie中(如果已启用)或由每个请求中的查询参数传递,除了当前用户之外,其他任何人都不应该知道其他人的会话ID。否则,身份网络钓鱼是敞开的。

根据您的一条评论,您需要一个唯一的随机数,直到会话结束,您可以将其存储在会话中:

session_start();
if (!isset($_SESSION['myUniqueId'])) {
     $_SESSION['myUniqueId'] = rand(0, 99999999);
}

答案 1 :(得分:0)

是和否。真的,这取决于会话中存储的数据。

风险在于会话ID是php用于将会话数据与单个请求相关联的令牌。如果您将敏感信息存储在$_SESSION中,那么它可能会让您受到攻击。如果您存储的所有内容都是用户名等,那么可能是

请注意,能够访问其他人的会话ID,可以让某人假设该人的身份就您的网站而言。