禁止用户访问我网站的有效方法是什么?

时间:2010-01-20 10:58:02

标签: php http

我知道很多脚本处理IP禁令,禁止IP范围等。 我试图制作一种尽可能阻止用户的方法。我提出了:

  • IP阻止
  • 设置Cookie
  • 但是如果用户有动态并且没有启用cookie,这对他来说不会有太大作用。 我不想阻止IP范围,因为我的大多数访客来自同一个城镇,我不想阻止无辜的人。
  • 为来自用户的多个变量(如浏览器和版本等)创建哈希值,并将其添加到存储禁用用户列表或此类值的表中。

感谢您的想法。

7 个答案:

答案 0 :(得分:8)

简单地说:你做不到。

有些用户可以阻止接收cookie,甚至使用代理来伪造它的IP地址,你只是无法确保某些用户无法访问你的应用程序。

(极端)选项是强制所有合法用户安装客户端证书并在服务器端进行检查,但正如我所说,这是一个极端的解决方案。我不想仅仅为了访问某个站点而安装证书。

我建议你放手吧;将来的某个时候,你的巨魔会感到无聊,并会寻找一些对他/她的时间更有用的东西。

答案 1 :(得分:3)

正如你所说的那样,IP和cookie禁止都是无效的。

如果您需要阻止特定用户,那么您只需要求所有用户使用电子邮件地址进行身份验证 - 他们不需要提供密码 - 只需生成随机哈希并将其存储在电子邮件地址中在数据库表中,然后在查询中发送带有散列的可点击URL。然后,当访问URL时,删除一个带有哈希值的cookie(以及将来的一个到期日期)。

然后,只要用户访问该站点,请检查数据库中的cookie,看它是否属于禁止的电子邮件地址。

这样做的缺点是它将负担转移给合法用户。例如。如果他们使用ISP电子邮件服务从国内ISP帐户注册,那么他们将无法轻易从网吧访问该网站。

当然,获得免费电子邮件地址相对容易。

下进行。

答案 2 :(得分:3)

一般来说,试图禁止行为比试图禁止用户更好。

首先,由于技术原因:通常可以检测到行为模式(例如,您可以禁止使用单词)。

其次,出于心理原因:惹恼他人的人经常这样做是因为他们倾向于过于个人化。禁止他们加强了这一点。可能会导致报复和升级。

答案 3 :(得分:1)

你已经得到的可能是最好的方法,IP禁止+阻止cookie。除了这两个之外,你还没有更多的事情可做。 (我知道,很糟糕)。

答案 4 :(得分:0)

正如其他人所指出的那样:基本上没有更多你能做的事情。基本问题是这些技术禁止计算机,而不是用户,并且可以轻松规避(清除cookie,更改IP或使用其他计算机)。

您可以尝试做的是通过他们展示的某些行为自动检测用户,然后快速阻止他​​们当前的机器。可自动检查的不良行为可能是发布了太多评论,或垃圾评论(您可以使用f.i.Mollom自动检查),输入大量错误密码等。

另一个想法(但更具侵入性)是阻止他们的用户帐户,并限制新帐户的创建(首先由管理员确认)。

答案 5 :(得分:0)

如果是针对某个论坛或类似内容,阻止垃圾邮件/滥用的唯一真正方法是将图像验证和管理员激活的帐户创建相结合。两者都有令人讨厌的副作用,并影响您网站的可用性。

知识产权禁令

除非他们是已知的垃圾邮件服务器,否则应该避免个人禁止IP。禁止普通用户的IP地址是不明智的,因为大多数宽带IP地址都没有修复,因此您可能最终禁止其他可能获取该IP地址的人。

<强>缓存

使用Cookie可以禁止那些不知道清除浏览器缓存/ Cookie等的普通“非IT”用户。如果超过10%的网络用户知道该怎么做,我会感到惊讶此...

答案 6 :(得分:0)

好吧,您可以在您的网站上阻止VPN的使用(我认为这是一个论坛,如果用户可以发布主题),为此,vpnblocker.net非常便宜且有效...具有VPN阻止功能,IP禁止功能和Cookie阻止功能可以阻止非持久性垃圾邮件发送者。如果它们具有静态IP地址,则不会返回。