1

验证用户的正确方法是什么?例如,设置一个只有登录用户才能查看的页面?

这行得通吗?

<?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}

但我只是想知道,一旦我这样做,是否意味着用户将无法在下面看到我的内容?

谢谢!

4

1 回答 1

1

你是对的,但你的策略有点冗长。这是一个更简单的方法。

<?php
session_start();
if(empty($_SESSION['username'])) 
{
  echo "Not allowed."; // possible redirect to login page.
  exit; 
}

//Authenticated stuff here.

要注销,只需清除用户名。

$_SESSION['username'] = "";

通常,您无需担心清理内部 PHP 会话缓存。PHP 有一个在服务器后台运行的定期脚本来为您处理。

于 2013-08-25T02:10:31.913 回答