识别用户并将其列入黑名单的有效方法
我目前正在寻找使用各种网络/互联网技术的不同方法,以便能够识别网站的用户而不是主机并将其列入黑名单。如果那没有什么意义,请允许我解释一下:
I'm currently looking at different ways to use various web/internet technologies in order to be able to identify and blacklist a user of website rather than the host. If that didn't make much sense, let me explain a little:
您可能已经知道,某些网站(特别是论坛和留言板)的访问不受欢迎垃圾邮件发送者经常这样。显然,论坛版主可以将用于执行此操作的所有帐户列入黑名单,但这是问题出在这之后发生的事情。
As you might be aware, some sites (particularly forums and message boards) have the unwelcoming visit of spammers every so often. Obviously forum moderators are able to blacklist any accounts used to do this, but it's what occurs after this that's the problem.
在许多情况下,相同的 user 可以绕过黑名单,创建一个新帐户,然后继续进行黑名单。当然,有一些工具(例如IP地址黑名单),但是即使对Internet有一点点了解的人也通常会知道如何获取新地址,并且能够再次绕过他们。
In many cases, the same user is able to bypass blacklistings, create a new account, and continue on their rampage. Of course, there are some tools such as IP address blacklists, but anyone who even a little bit knowledgeable about the Internet will typically know how to obtain a new address, and once again be able to bypass the ban meant for them.
我见过的另一种有趣的方法是使用唯一的加密cookie(至少)识别被列入黑名单的用户所使用的主机。也就是说,当用户被列入黑名单时,服务器端会记录Cookie中的值,以便下次使用同一主机创建新帐户时,会将Cookie发送回服务器,服务器随后可以识别该Cookie。他们绕过了黑名单。但是,问题又来了,熟练的用户能够删除浏览器的cookie,从而使他们再次成为匿名用户。
Another interesting method I've seen is using a unique encrypted cookie to (at least) identify the host used by a blacklisted user. That is, when the user is blacklisted, the server-side makes note of the value in the cookie, so that next time the same host is used to create a new account, the cookie is sent back to the server which can then identify that they're bypassing a blacklist. But again, the problem is that adept users are able to delete the browser's cookies, allowing them to once again become anonymous.
所以我正在寻找不同的方法甚至可以强制执行这样的黑名单。我知道其他的浏览器存储方法,例如localStorage,甚至是基于插件的方法,例如 Flash cookie,因此最好采用与此类想法类似的方法(尽管理想情况下,能够成功实现
So I'm looking for different methods of being able to enforce such a blacklist, if one even exists. I'm aware of other browser storage methods such as localStorage, and even plugin-based ones such as "Flash cookies", so anything similar to these kinds of ideas is preferrable (although ideally, it would be great to be able to make successful identification by just using regular HTTP technologies. ie. without Javascript, Flash, etc...).
还有很多关于确定,由于用户可以更改或删除各种设置,因此该想法可能并非100%可靠,但是,如果他们不了解或意识到它可以那样进行,那么它起作用。我的意思是,就像我上面给出的有关Cookie的使用示例一样;即使可以删除Cookie ,但如果用户不了解正在使用Cookie的情况,那么黑名单仍然会被强制执行。
There's also a fair bit of thinking in terms of "well sure, the idea may not be 100% foolproof since the user could change or delete various settings, but if they don't understand or realise that it works that way, then it works". What I mean here is, just like the example I gave above about the use of cookies; even though cookies can be deleted, if the user doesn't understand that they're being used that way, then the blacklist remains enforced.
您可能对此网站感兴趣 http://panopticlick.eff.org/ ,并通过报告包含一些有关指纹识别方式的数学知识。浏览器基于收集到的所有数据。
You may be interested by this website http://panopticlick.eff.org/, and by the report containing some mathematical things about the way to fingerprint a browser based on all the data collected.
您还可以检查使用新HTML5数据库存储的工具,例如 ringleaderdigital 这是选择退出链接,对于每个人来说,更好的隐私 Firefox插件。
You can check as well tools which used new HTML5 database storage, like the one used by by ringleaderdigital here's the opt-out link that may be usefull for everyone as the better privacy plugin for firefox.
此阅读可以为您提供有关如何使用LSO Flash Cookie或本地数据库的大量技术细节。正如您可以在此处或在 LSO 上的Wikipedia页面上阅读的一样,可以使用一些javascript工具来处理Flash cookie,例如Dojo框架。
This reading can give you quite a lot of technical details on how to use LSO flash cookies or local databases. And as you can read there or on the wikipedia page on LSO some javascript tools can be used to handle flash cookies, like the Dojo framework.
您应尝试处理 请勿跟踪政策,请参见常见问题解答。用户将发送标头,告诉您您不应尝试对其进行跟踪。在黑名单方面,这可能会成为一个问题。也许您应该尝试构建跟踪器,将其与黑名单进行比较,如果找不到黑跟踪器,则将其抛出。
You should try to handle the "Do Not Track" policy, see the FAQ. Users will send headers telling you you should'nt try to track them. In terms of blacklisting this can become a problem. Maybe you should try to build the tracker, compare it to blacklist and throw it if you cannot find him there.