PHP会话。管理员如何破坏用户的会话

时间:2010-10-20 19:17:01

标签: php

我有这个问题。我的网站是构建的,用户只有登录才能进入会员页面。因此每个页面都有这个,

if(!$ _ SESSION ['userid'])header index.php

问题是,如果我禁止用户并且用户没有结束会话,他仍然可以使用该网站,直到他结束会话并尝试再次登录,并且他将因为更改而被拒绝数据库中的状态。

我认为唯一的方法是删除服务器中的物理会话文件,但我不知道如何。任何人吗?

3 个答案:

答案 0 :(得分:1)

我所做的是在每个页面中包含的头文件中创建数据库查询,该文件既可以提取用户配置文件,也可以检查它们是否被禁止。如果是,那么我destroy their session

答案 1 :(得分:0)

您需要做的是在您的ajax帖子中添加用户ID或其他一些信息以识别特定用户发布。这样,您可以在服务器端检查是否允许用户发布每个帖子,如果没有采取必要的操作。

答案 2 :(得分:0)

除非你使用多级目录保存方法,否则这样的事情可能就足够了:

unlink(ini_get('session.save_path') . 'sess_' . $bannedSessionID));

检查服务器的会话文件是否具有'sess_'前缀。它可能会在某个地方被覆盖。但在任何情况下,默认情况下,所有会话文件都在一个目录中(/ tmp除非它们已被移动),并且可以由Web服务器打开/读取/写入/删除(因为它们必须是)