我想知道是否有人从HTML源码中知道我的会话ID,然后他们可以破解我的网站?
例如,如果我在html中设置一个类<div class="class<?php echo session_id(); ?>"></div>
然后HTML源代码(可以从浏览器中查看)将是<div class="class78345543545c344x"></div>
风险吗?
答案 0 :(得分:2)
无论您在用户的会话中存储什么,请不要重复,不要将会话ID分享给当前用户以外的其他人。即使会话ID存储在cookie中(如果已启用)或由每个请求中的查询参数传递,除了当前用户之外,其他任何人都不应该知道其他人的会话ID。否则,身份网络钓鱼是敞开的。
根据您的一条评论,您需要一个唯一的随机数,直到会话结束,您可以将其存储在会话中:
session_start();
if (!isset($_SESSION['myUniqueId'])) {
$_SESSION['myUniqueId'] = rand(0, 99999999);
}
答案 1 :(得分:0)
是和否。真的,这取决于会话中存储的数据。
风险在于会话ID是php用于将会话数据与单个请求相关联的令牌。如果您将敏感信息存储在$_SESSION
中,那么它可能会让您受到攻击。如果您存储的所有内容都是用户名等,那么可能是。
请注意,能够访问其他人的会话ID,可以让某人假设该人的身份就您的网站而言。