vBulletin Mods

The Official vBulletin Modifications Site
https://www.vbulletin.org/forum/showthread.php?t=96318

DNSBL, RBL - Open Proxy monitoring/blocking [3.6 compatible]
by TMM-TT
15 Sep 2005 12:30

1 Attachment(s)
History

I've had some problems with abuse via open proxies for a time ago, and when we were banning abusers, they always found a new proxy to use and register new accounts with. Since this forum was a large type we could'nt just ban e-mails etc just like that, because this was leading to a very large amount of other banned users too.

At IRC, in the other hand, we had Open Proxy Monitors, that was banning everything that was blacklisted in some DNSBL-databases. No spammers had a chance to get in there as long they were listed in such database.

This is a plugin that blocks blacklisted hosts from some different DNSBL's. It uses the global_start-hook, a very simple handler for blocking proxies, and a vBphrase called OPM_Deny.


April 2006

The source has been rewritten a bit. The proxychecker is now using a cache that, by default, stores all ip's in a database for 6 hours. It scans some DNSBL's and can be configured to block proxies from bitmasks (defined in the plugin) which makes it a little bit more reliable, because it does'nt block everything it see).

Configuration is made from the plugin (hopefully there will be a nice admin interface in the future). Exceptions (ip's that can pass through this system even if it is a proxy) are also handled differently now.

// CHANGES
//
// 2008-09-20 (2.0.8)
//
// * Changed the routines for how to handle inclusion/exclusions
// * Splitted up plugins for 3.5/3.6 and 3.7
//
// 2007-08-05
//
// * Fixed reported bug, based on resolved hosts ending with 127
// * Changed database-tables to get rid of (hopefully) duplicate keys
// * Added resolver-function
// * Added two new block-methods available at the efnet-rbl
//
// 2006-06-28 (2.0.6/Another fix)
//
// * Proxyinclusions/exclusions didn't work properly
//
// 2006-06-28 (2.0.5/Fix only)
//
// * Fixed a bug in the $block-array that affected some of the blocking results
//
// 2006-06-28 (2.0.4)
//
// * opm.tornevall.org has a new entry for anonymizers, added support for this
// * Default value on "block everything detected" in plugin changed to "no"
//
// 2006-06-26 (2.0.3)
//
// * Created options for admincp (removed plugin-configuration)
// * Fixed a bit-bug for njabl
// * Plugin is now a function (rbl_livecheck) for external lookups
// * Added options for "only block on newuser-registrations"
//
// 2006-06-22 (2.0.3 RC)
//
// * The monitor is now a function
// * Added small compatibility with other plugins (with return)
//
// 2006-05-13
//
// * sorbs zones added (no bitmasking)
// * opm.blitzed.org removed
// * time() changed to TIMENOW
//
// 2006-04-21
// ==========
//
// * proxyinclusions
// quickly add own hosts that should be treated as a proxy
//


How does it work with other vBulletins?

This filter actually works with both 3.5 and 3.6, but for now, they will be separate versions, but for 3.5 and 3.6 you should look here and for 3.7 you should look here.


How to use the compatibility thing

If you have a plugin that you want to use together with the proxy monitor (only returns a value if a an ip-address is registered as a proxy or not) you can call the function rbl_livecheck like this (example):


Block Disabled:      (Update License Status)  
Suspended or Unlicensed Members Cannot View Code.

Report bugs if you find them...



Don't forget to install it :)

Boofo 15 Sep 2005 12:33

What happened to the xml?

TMM-TT 15 Sep 2005 12:38

Quote:

Originally Posted by Boofo
What happened to the xml?

There it was. It disappeared when I was editing this thread. :)

Boofo 15 Sep 2005 12:41

You know you can make this a product and have it install the phrase auotmatically on install right?

TMM-TT 15 Sep 2005 12:44

Quote:

Originally Posted by Boofo
You know you can make this a product and have it install the phrase auotmatically on install right?

I did'nt know that. I know very little about plugins. Is there any instructions for me somewhere about it? :)

Boofo 15 Sep 2005 12:56

1 Attachment(s)
Here you go. ;)

nexialys 15 Sep 2005 13:07

my feedback: actually, your script is overloading the servers on both sides as it connect each time a page is loaded... on irc there is no problem as you connect only once per logon, but on web, each time a page is loaded the script is activating...

what would be best is to cache the data received from the OPM databases, and make a verification only when a new session is built... this would ensecure the connection, and spare some contacts with the dB!

MaTraX 15 Sep 2005 13:30

I don`t tried to install this plugin yet and the post about overloading server stoped me from installing but still iI think that this is a great idea and you should work on it because we all sooner or later will have problems with users that use some proxy servers and feel that we can`t do anything with them.

TMM-TT 15 Sep 2005 13:33

Quote:

Originally Posted by nexialys
what would be best is to cache the data received from the OPM databases, and make a verification only when a new session is built... this would ensecure the connection, and spare some contacts with the dB!

Yes, that's a good idea, but that's something that I probably can't fix on my own, due to a lack of necessary php-skills. :)

nexialys 15 Sep 2005 13:41

Quote:

Originally Posted by TMM-TT
Yes, that's a good idea, but that's something that I probably can't fix on my own, due to a lack of necessary php-skills. :)

we all can help on this... you started a good thread/hack, i know that some others will be able to add to it... The Boofoon guy already had!

this is quite simply btw... a cronjob to query the proper servers will store the datas in the datastore, and we only retreive that information when needed... the cronjob can be set to update itself once a week or so, because these servers are not updating the listings that often...

jugo 15 Sep 2005 15:46

This is an awesome idea....I think nexialys has an excellent point and that will make it an invaluable product.

Yorixz 15 Sep 2005 15:56

Very nice a idea; thanks a huge bit for starting this, hopefully anyone with sufficient php skills will be able to "finish" it :)

Jenta 15 Sep 2005 17:26

cant it be placed at the start of session?

nexialys 15 Sep 2005 17:26

Quote:

Originally Posted by Jenta
cant it be placed at the start of session?

that's what i suggested... ;)

buro9 16 Sep 2005 15:48

I use the PEAR Cache library for some of my more esoteric hacks, happy to write a PEAR compatible version if people feel that PEAR is an acceptable pre-requisite.

Of course... if someone can write a datastore version it would probably be better :)


All times are GMT. The time now is 09:11.

Powered by vBulletin® Version 3.8.14
Copyright © 2021, MH Sub I, LLC dba vBulletin. All Rights Reserved. vBulletin® is a registered trademark of MH Sub I, LLC
Copyright ©2001 - , vbulletin.org. All rights reserved.