验证用户的正确方法是什么?在,设置一个只有登录用户可以查看的页面?
这有用吗?
<?php
session_start();
if(!isset($_SESSION[username]) || empty($_SESSION[username]) || !isset($_SESSION[id]) || empty($_SESSION[id]))
{
session_destroy();
session_unset();
die('You\'re not authorized to view this page!');
}
?>
<?php
echo"Can I freely, and safely write my content here? Will it be properly authenticated with my code above?";
?>
但我的问题是,如果我使用上面的代码,我可以在代码下面自由添加我的内容吗?还有其他更好的方法吗?
我有另一个代码,我做了
session_destroy();
header("Location: logout.php");
{and then I echo my content below; where logged in users can see}
但我只是想知道,一旦我这样做,是否意味着用户将无法在下方看到我的内容?
谢谢!
答案 0 :(得分:1)
你是对的,但你的策略有点冗长。这是一种更简单的方法。
<?php
session_start();
if(empty($_SESSION['username']))
{
echo "Not allowed."; // possible redirect to login page.
exit;
}
//Authenticated stuff here.
要注销,只需清除用户名。
$_SESSION['username'] = "";
通常,您无需担心清理内部PHP会话缓存。 PHP有一个定期脚本,它在服务器的后台运行,以便为您处理。