User Filter

Important Note

As of September 2005 I've switched to a databased user filter system — but this is much more involved as it does a lot more than the version described here. However, as a result it is much more difficult to create a user-friendly version for public consumption and writing the documentation would be a major undertaking alone, so I haven't gotten around to it yet. What follows after these warning notes is the old documentation.

However, the databased version I now use does still provide an up-to-date auto-generated XML file of the banned IP addresses, UserAgents and Referrers and is freely downloadable. Every time the UserFilter database is modified this XML file is updated automatically. Feel free to incorporate this list into your own blacklist mechanisms. If you wish to read this file via a robot make sure the robot understands HTTP 304 and submits “HTTP_IF_MODIFIED_SINCE” and/or “HTTP_IF_NONE_MATCH” HTTP headers. Robots that don't implement this HTTP caching mechanism may find themselves added to the UserFilter database! The Schema for this XML file is also available (it's not the same as the old UserFilter schema file mentioned in the old documentation below).

A Cross-Platform Mechanism For Restricting Website Access

This information is no longer supported and is available for historical purposes only.

User Filter is an XML black-list of web users with an active filtering mechanism to block web site access to those users on the black-list. Since XML is a cross-platform technology, the opportunity exists to create an active filtering network for all web server systems.

Whilst largely a proof of concept, the system is currently running on this website as the primary user-filtering mechanism (since 6th January 2004). The current black-list XML file, an XML schema and IIS filter implementation are detailed below. It is greatly desired that users on different web servers create their own filter implementations and submit them to this site free for all to use.

If interest increases then the potential exists for the webmaster community to submit users to the black-list, and for users themselves to request to be removed from it. A 'ping' system could be implemented to notify community members that an updated XML list is available for automatic download. To address some scalability issues an additional XML list could be implemented of only the new list changes along with a mechanism for flagging users to be removed. To reduce the scope for abuse, a community voting system could be implemented, which might work as: "75% confidence needed from more than 20 votes before 'xxxxx' user is added to the black-listed".

Implementation Examples

XML Filter Files

UserFilter XML schema:

Licence

"User Filter" is published under a GPL licence

Advertisement