【问题标题】:How to deny multiple connections (or multiple instances of) a particular webpage to the same IP address client?如何拒绝特定网页与同一 IP 地址客户端的多个连接(或多个实例)?
【发布时间】:2012-11-30 21:02:09
【问题描述】:

考虑一个网页说,http://www.somedomain.tld/page1.php 我不希望有人打开 page1.php 的多个实例。如果用户打开,他会在多个浏览器中打开同一页面并显示警告消息。

有什么建议如何进行吗?可能的 cookie 检查、简单的 .htaccess 实现、IP 检查?

如果您需要有关该场景的进一步说明,请告诉我。

已链接:Restrict multiple page access by a user from the same IP

编辑:接受“deceze's”方向。

@Mods :您可以关闭这个问题。

【问题讨论】:

  • 几乎不可能做到这一点而没有副作用,副作用可能会也可能不会很糟糕。请定义为什么您要如此严重地破坏网络?
  • Cookie 是不可能的——多个浏览器。 IP -- IP 可以共享。
  • 家里的人使用无线网络怎么样? (共享一个外部 IP)一次只能有一个人使用该网站?
  • @deceze - '破坏网络'?我在双关语上目光短浅。如果您正在谈论可能的应用程序,我的目标是阻止当前登录用户从特定池生成另一个请求,直到服务器完成他的第一个请求。其他“为什么”..同时进行购物车/支付处理或尽可能通用的尝试阻止 DDOS 攻击
  • @Dale - 我的想法是阻止“单个”人生成两个请求。我想,使用共享 IP,基于 IP 的块将无法达到目的,对吧?

标签: php


【解决方案1】:

因此,您在这里拥有的两个工具是 IP 和 cookie。

IP 不是用户独有的。忘记他们。 IP 是一种路由数据的传递机制,它们过于粗糙,无法识别用户。

Cookie 不会跨浏览器共享,因此您无法使用 Cookie 跨浏览器识别用户。

此外,网络是无状态的。当网站打开时,浏览器和服务器之间没有一个持久连接。页面加载后,它会在浏览器中保持打开状态,但它与服务器之间没有通信。

鉴于这些情况,使用 IP 或 cookie 几乎不可能完成您要求的操作。至少没有一些副作用,可能包括用户退出自己的帐户或共享相同 IP 的人彼此死锁。

您应该做的是以一种包含 HTTP 请求的无状态特性的方式编写您的应用程序。您可以通过给他一个独特的 cookie 来识别用户。相反,没有cookie的用户是新用户(包括不同的浏览器);使用此信息对您有利。如果您需要在完成其他操作之前完成某个过程,则需要将此状态保留在服务器端并将其绑定到特定用户。 IE。 “带有 cookie XYZ 的用户接下来需要执行操作 C”,然后当用户向您的服务器发出 HTTP 请求时,让服务器评估请求并决定它是否适合用户应该做;通过重定向或拒绝请求来做出适当的响应。

【讨论】:

  • 完美!我想我在这句话中得到了答案,“没有 cookie 的用户是新用户”。由于我没有包含活动登录系统,因此这种方法同时应该有所帮助。谢谢你清楚地指导我。可悲的是,我不能给你一个赞成票,因为我没有至少 15 分,但我真诚的感谢。另外,我很好奇,如何阻止通用页面的 DDoS 攻击?
  • DDOS 是一个独立于事务状态的问题。对于 DDOS,您通常只有 IP 可以继续运行,但如果它过于分散,即使这样也无济于事。搜索类似的讨论,这是一个完全不同的话题。
  • 而且您可以接受答案,即使您可能无法投赞成票。
【解决方案2】:

如果有登录,那么我的解决方案可能对你有用..

如果它在多个浏览器中,这意味着在第二个浏览器中用户必须再次登录..

所以你在你的数据库中做一个记录,其中存储了用户信息/登录信息,一旦登录你将无法再次登录......

在不同的选项卡中阻止来自同一浏览器的用户可能是不可能的

谢谢

【讨论】:

  • 不,没有活动登录。但我明白你的建议。
【解决方案3】:

存储IP地址,每次都检查这个值和请求的URL,这样你就可以决定哪个人可以看到你的网页(多少次)。

Restrict multiple page access by a user from the same IP

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-07
    • 2023-03-30
    相关资源
    最近更新 更多