如何一次限制登录次数?

时间:2011-01-25 12:46:50

标签: php mysql apache

你好,我有一个网站。使用php,mysql创建。我想设置一个限制,只有10个用户可以同时登录我的网站。我怎么能做那种设置?任何人都知道解决方案,请帮助我..

5 个答案:

答案 0 :(得分:3)

使用数据库表来存储登录用户的数量,但您需要想出一些方法来对这些用户施加时间限制。我建议在表格中注明他们最后一次活动的字段。当新用户尝试登录时,您需要应用这样的逻辑(伪代码):

if(<10users){
    login
} elseif(any of the users have no activity for 30 mins){
    remove that user and login
} else {
    inform user of no space
}

每次登录用户访问新网页时,您都需要更新上一个活动。

答案 1 :(得分:1)

阅读PHP中的会话,然后编写自己的会话处理程序 - 第一次作为学习练习。然后再编写自己的会话处理程序 ,修复第一次尝试的所有错误,并添加设施以计算活动会话。

请注意,会话处理程序的正常行为是会话数据即使在会话超时后仍然存在 - 它由垃圾收集器(以及可选的会话加载器)来清除过时的会话数据。

答案 2 :(得分:0)

我会覆盖php会话处理并在数据库中存储用户会话。你可以在这里找到一个简单的教程:http://www.raditha.com/php/session.php

这样您就可以简单地检查数据库表中是否存储了10个以上的有效会话。虽然您必须考虑处理注销和超时,因为某些标准超时(如30分钟)可能无法在您的应用程序中正常运行。

答案 3 :(得分:0)

如果您希望10个用户登录您的站点,请在登录的用户超过10个时禁用登录框。

这假定您在db中有一个表,用于记录站点中记录的用户。登录过程将在表中写入一个新行。注销程序将删除它。

只需计算此表中的行数即可确定用户数。

答案 4 :(得分:0)

如上所述,您必须维护一个表,该表将存储登录的用户数,但每当用户注销然后递减该值....每当新用户登录时通过检查它来增加该值限制