gpt4 book ai didi

php - 这个代码是 : $_SESSION ['username' ] = $username; enough to store the username in the session?

转载 作者:行者123 更新时间:2023-12-01 00:25:24 30 4
gpt4 key购买 nike

这是我第一次使用 php 学习 session ,我正在尽可能地制作最简单的登录页面。

因此,只要用户永远不会关闭网页,理论上这是否可以让任何给定的字符串 $username 始终存储在 $_SESSION['username'] 中?

这是一个虚拟网页,它只是将 $_SESSION['username'] 的值设置为 $username。如果我这样做,并在我的网站上打开一个不同的页面,在我关闭网络浏览器之前,$_SESSION['username'] 的值是否仍然保留?

<?php
session_start();
<html>
<body>

...

$_SESSION['username'] =  $username;
?>

所以我的大问题是,如果 $username 是“CiniCraft”,那么 $_SESSION['username'] = “CiniCraft” 直到网络浏览器关闭?如果不是,在浏览器关闭之前保留其值的最佳变量是什么?

我已经尝试了上面显示的方法,当我从 login.php 导航到 index.php 时 $_SESSION['username'] 变为空白。

安全对我来说根本不是问题,如果用户帐户受到威胁,那么黑客将浪费他们的时间。当然,除非他们正在寻找垃圾邮件来发送更多伟哥广告……

最佳答案

是的,无论何时

$_SESSION['username'] = $username;

session 将被分配 $username 值。但是,请记住在分配之前启动 session ,因此顺序如下:

session_start();
$_SESSION['username'] = $username;

在您需要访问它的每个页面上启动 session - 这可能是它在 index.php 上不可用的原因。

所以在 index.php 上你可以做这样的事情:

session_start();
echo $_SESSION['username'];

在您的示例中,这应该输出“CiniCraft”,前提是您之后首先调用 login.php 和 index.php。

session 通过 cookie 存储在您的浏览器中 - 因此只要您不重置浏览器或长时间不关闭浏览器, session 就应该有效。然而,在其他浏览器中,该 session 将不可用。

阅读有关 session 的更多信息 in php contextgenerally .

Security is not an issue for me at all

小心——请不要这样看。 Security is everyone's responsibility ,您迟早会需要它。

关于php - 这个代码是 : $_SESSION ['username' ] = $username; enough to store the username in the session?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15237774/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com