当我使用会话限制对页面的访问时,如何处理用户清除会话?

时间:2010-02-04 00:30:32

标签: php session

我有一个页面,我通过检查是否设置了某个会话变量来限制访问。但话说回来,用户可以清除该会话变量,现在可以访问该页面。

我该怎么做才能防止这种情况发生?我正在使用php

4 个答案:

答案 0 :(得分:6)

...您为 允许访问该网页的人设置会话变量,而不是相反?

答案 1 :(得分:4)

拒绝所有,允许一些。

假设不允许没有会话的人。

答案 2 :(得分:3)

通常用户不能自己清除变量(除非你的代码为它们做了)但只删除了自己的会话cookie,这会破坏整个会话(现在你可以限制访问)。

答案 3 :(得分:0)

在您要限制访问的各个页面的 TOP 的PHP标题中,您可以输入以下内容:

<?php
   session_start(); // start the session
   if (!isset($_SESSION['allowaccess']) || ($_SESSION['allowaccess'] == FALSE)) {
      // if the access token is not present or the token is false, then...
      echo "Access denied."
      exit();
   }
?>

<h1>Super Seekrit Data</h1>

<p>yada yada yada</p>

这样,如果用户清除他们的cookie或注销或其他什么,具有此类代码的页面现在将拒绝访问。当然,他们可能仍然有一个缓存副本存在,并且可以看到内容,直到缓存过期,但这是另一个需要解决的问题。