7

我知道这是一件大事。事实上,它可能用于一些 SO 社区 wiki。

无论如何,我正在运行一个不使用用户显式身份验证的网站。它是公开的,对所有人开放。但是,由于服务的性质,一些用户由于行为不端需要被锁定。

我目前正在阻止 IP 地址,但我知道许多人故意重置他们的 DHCP 客户端缓存以让他们的 ISP 为他们分配新地址的假设事实。这是事实吗?我认为对于一些想要规避被拒绝访问的人来说,这无疑是一种有利可图的可能性。因此,IP 被证明是处理此问题的次优方式。但是没有别的了,不是吗?

MAC 地址在 WAN 上无法生存(从一跳更改为另一跳?),即使它们确实存在 - 这些也可以被欺骗,尽管我认为比 IP 更新更容易。

Cookie 甚至 Flash cookie 都是不可能的,因为有大量的“教程”如何擦除它们,而那些意图在 Internet 上造成严重破坏的人非常清楚并且装备精良,可以应对我将采用的这些基本措施。

还有什么可以依靠的吗?我在考虑启发式分析——从客户端收集可用数据并用它形成一些密钥,但还没有实现它——这是一种选择吗?

4

4 回答 4

2

由于互联网的性质,这实际上是不可能的。是的,您可以阻止特定的 IP,但正如您所说,对于普通的“行为不端”来说,简单地更改他们的 IP 就很容易了。甚至 MAC 地址也可以被欺骗。这就是存在这些问题的站点使用身份验证的原因。这是唯一真正的解决方案。

于 2010-04-28T13:49:54.787 回答
1

您将无法完全阻止决心访问您网站的用户。但是,您可以让他们变得足够困难,以至于不值得他们花时间。

于 2010-04-28T13:48:20.717 回答
1

正如其他人所说,这是一个不可能的问题。任何有足够决心的人总能找到另一种方法。这个问题的典型例子是维基百科,你可以在这里阅读他们采取的各种阻止步骤:http ://en.wikipedia.org/wiki/Blocking_policy

于 2010-04-28T13:52:12.013 回答
1

简单的答案是这是不可能的。正如其他人(包括您自己)已经说过的那样,任何有决心的人都会找到另一种方式。

You can block IPs or use cookies, to deter the casual troublemaker. Someone who just wants to post rude words in blog comments will probably go elsewhere, but it won't scare off someone who wants to cause trouble on your site specifically,

If this misbehaviour is a serious problem for you, then I think your only recourse is to require authentication for any kind of access that could be subject to such abuse.

You can minimise the annoyance to your users by using OAuth, and accepting many different providers, much as SO does, rather than forcing all your users to sign up and memorise yet another set of login credentials.

于 2010-04-28T14:00:02.457 回答