php - 如何限制每个IP只能有1个用户访问网站?

标签 php javascript .htaccess mod-security

有办法阻止 1 个连接/IP 多次登录网站吗?

假设我的网站是 http://website.com我只希望 1 个用户从 1 个 IP 进行浏览!

这可以使用 php、javascript 或 htaccess 实现吗?

我对 htaccess 做了很多测试,但都失败了

提前致谢

最佳答案

是的,但你不应该!

假设您只想阻止一个 IP 地址上的多个用户登录典型的身份验证系统,只需向您的 users 数据库表中添加两行:last_iplast_seen

如果用户的 IP 地址发生更改,

last_ip 会在每次页面加载时更新。 last_seen 在每次页面加载时更新。

当用户提交登录请求时,检查另一个用户的 last_ip 是否等于该用户的 IP 地址,以及 last_seen 是否在合理的时间段内(例如 30 分钟) 。如果是,则拒绝登录请求。

这是一个坏主意,因为它很容易避免

使用 VPN、TOR 或开放代理,用户可以非常轻松地在不同浏览器甚至同一浏览器的不同选项卡中操作多个 IP 地址。

此外,展望 IPv6,按照标准,每个用户可能会拥有 64-256 个 IP 地址。

这也是一个坏主意,因为它会损害合法用户

贫穷国家的用户、住在同一个家里的多人、大学或工作场所的人很可能共享 IP。用户无法很好地映射到 IP 地址。

关于php - 如何限制每个IP只能有1个用户访问网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18392031/

相关文章:

html - 在 .htaccess 上使用 RewriteRule 时的 CSS 问题

php - Laravel 查询生成器一般错误 2031

PHPUnit 似乎没有运行 Laravel 迁移

JavaScript 让球移动

javascript - <div> 不是在 javascript 中动态创建的

php - 如何使用虚拟文件夹结构url

php - SQL - 显示 sql 结果中的列名

php - 将 PHP 连接到 MySQL。我的电脑安装了2个MySQL。连接哪一个

javascript - 鼠标悬停 react 在元素底部效果不佳

apache - apache https 重定向错误(不受信任的连接)