如何使我的密码保护目录提示用户在每次访问时登录?

时间:2012-10-22 15:42:30

标签: caching password-protection

我已通过托管服务器的控制面板在目录上启用了密码保护。它工作正常。然而,问题在于用户的浏览器正在缓存他们的登录信息,因此如果他们离开页面然后返回到受密码保护的页面 - 则不会提示他们再次登录。

我一直在阅读有关阻止浏览器缓存的方法,并尝试过META标记选项(编译指示,缓存控制,过期),但这并不完全有效。仅当用户完全关闭浏览器,然后再次打开浏览器时,它才有效。我希望登录提示能够在用户访问页面的每一次打开(有点像访问网页邮件页面)。

我很好奇是否有某种编码可以帮助解决这个问题。我的页面只是使用css和html - 我熟悉的仅有的两个编码。

1 个答案:

答案 0 :(得分:0)

使用PHP验证Basic:

登录:

<?php session_start();$_SESSION=array();session_destroy(); ?>
<form method="POST" action="yoursite.php">
Username: <input name="username"><br>
Password: <input name="password" type="password"><br>
<button type="submit">Submit</button>
</form>

YourSite:

<?php
session_start();
if(isset($_POST['username'])) {
  $username = trim($_POST['username']);
  $userpw = trim($_POST['password']);
  //here you have to check if the credentials are correct
    $user_may_see_content = false;
  //
  if(user_may_see_content) {
   $_SESSION['mayHaveRequest']=1;
   //now go to page

  } else {
   header("Location: <link_to_loginsite>");exit();
  }

}

//if user may see page
if(isset($_SESSION['mayHaveRequest']) && $_SESSION['mayHaveRequest']==1): ?>
$_SESSION['mayHaveRequest']=0;
?>
<!-- SECRET HTML CODE FOR AUTHENTICATED USERS -->



<?php else: 
header("Location: <link_to_loginsite>");exit();
endif;
?>

这只是一个例子。

希望有所帮助。