编辑:正如下面由Cheery所解释并由我编辑的简洁性:
仅当会话ID由另一个现有会话替换时,会话值才适用于给定的会话ID - 如果您担心窃取会话ID值,则需要安全步骤。会话在服务器上。您只能欺骗会话ID,但它应该是现有会话的ID,否则$ _SESSION将为空。
我找不到与我的问题有关的任何内容:
我试图保护自定义后台,并在验证密码后输入以下代码:
if ($hasher->CheckPassword($password_safe, $retrieved_password)) {
//Initiate the session
session_start();
$_SESSION["user_id"] = md5(microtime(true));
$_SESSION["ip"] = $_SERVER['REMOTE_ADDR'];
header('Location: main.php');
} else {
//LOGIN ATTEMPT FAILED
}
unset($hasher);
}
由于这仅供我自己使用,因此我不关心与Ip检查部分相关的问题,也不关心存储用户ID。
我不知道如何做的是比较什么
$_SESSION["user_id"]
到私人网页上。
我意识到我需要存储在其他地方的相同值,将它放到db中是唯一的方法吗?
感谢。
答案 0 :(得分:0)
您可以使用javascript localstorage保存它,并在需要时调用它。
示例强>
<script>
window.localStorage.setItem("session_id","37363732");
</script>
在php中你称之为
<?php
$session_id = "<script>
var sess_id = window.localStorage.getItem("session_id");
document.write(sess_id);
</script>";
?>
或者这个
<?php
$session_id = "<script>
document.write(localStorage.session_id);
</script>";
?>
文件撰写(localStorage.save);