我有以下结构:PHP会话管理,这可以吗?
Index.php
Account.php
Login.php
CheckLogin.php
当有人通过它的login.php检查用户名和密码登录并设置以下会话变量
$_SESSION['username'] = $username;
$_SESSION['HTTP_USER_AGENT'] = md5($_SERVER['HTTP_USER_AGENT']);
当他们访问Account.php 那包括检查HTTP_USER_AGENT的文件CheckLogin.php,以及是否设置了用户名变量。
现在,这里是我遇到问题的地方。如果用户返回到index.php(主页)并登录,我想显示帐户链接。 但是,如果用户没有登录,即刚刚访问过该网站,我想显示注册链接。 我想我可以做到以下几点:
<?php session_start()
if (!isset($_SESSION['username'])) {
// If username is not set destroy the session
session_destroy();
echo ("<a href=\"signup.php\">Sign up</a>");
}
else {
// If username is set
echo ("<a href=\"account.php\">Sign up</a>");
}
?>
我知道这是不是完全安全的。然而,如果有人成功地劫持了会议,并赴account.php它会做哪些应该销毁了会议,并记录检查他们如果他们不合法。 这是最佳实践还是有更好的方法来实现这一理想的结果。我忍不住想每个人访问该网站,创建和销毁会话都是一个糟糕的主意。这是正确的做法,还是我需要考虑的其他事情?
读取高级框架的代码并检查他们如何管理认证将很好地为您服务。 – kapa
有很多很好的想法,通过PHP的登录系统,为什么不利用已经完成的? – jtheman
只是一个提示:回声不是一个函数。使用回声“a”,而不是回声(“a”)。虽然没有区别。 –