[pLog-svn] r6972 - in plog/branches/lifetype-1.2/plugins/badbehavior: . bad-behavior

jondaley at devel.lifetype.net jondaley at devel.lifetype.net
Sat Jan 30 00:14:45 EST 2010


Author: jondaley
Date: 2010-01-30 00:14:45 -0500 (Sat, 30 Jan 2010)
New Revision: 6972

Removed:
   plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/README.txt
   plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/index.html
Modified:
   plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/banned.inc.php
   plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/blackhole.inc.php
   plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/blacklist.inc.php
   plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/common_tests.inc.php
   plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/core.inc.php
   plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/post.inc.php
   plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/responses.inc.php
   plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/trackback.inc.php
   plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/version.inc.php
   plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/whitelist.inc.php
   plog/branches/lifetype-1.2/plugins/badbehavior/pluginbadbehavior.class.php
Log:
new version of bad behavior.  fixes a NOTICE or some other minor error that a user spotted.

Deleted: plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/README.txt
===================================================================
--- plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/README.txt	2010-01-27 23:53:52 UTC (rev 6971)
+++ plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/README.txt	2010-01-30 05:14:45 UTC (rev 6972)
@@ -1,92 +0,0 @@
-=== Bad Behavior ===
-Tags: comment,trackback,referrer,spam,robot,antispam
-Contributors: error, MarkJaquith, Firas, skeltoac
-Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=error%40ioerror%2eus&item_name=Bad%20Behavior%20%28From%20WordPress%20Page%29&no_shipping=1&cn=Comments%20about%20Bad%20Behavior&tax=0&currency_code=USD&bn=PP%2dDonationsBF&charset=UTF%2d8
-Requires at least: 1.5
-Tested up to: 2.6
-Stable tag: 2.0.20
-
-Welcome to a whole new way of keeping your blog, forum, guestbook, wiki or
-content management system free of link spam. Bad Behavior is a PHP-based
-solution for blocking link spam and the robots which deliver it.
-
-Bad Behavior complements other link spam solutions by acting as a gatekeeper,
-preventing spammers from ever delivering their junk, and in many cases, from
-ever reading your site in the first place. This keeps your site's load down,
-makes your site logs cleaner, and can help prevent denial of service
-conditions caused by spammers.
-
-Bad Behavior also transcends other link spam solutions by working in a
-completely different, unique way. Instead of merely looking at the content of
-potential spam, Bad Behavior analyzes the delivery method as well as the
-software the spammer is using. In this way, Bad Behavior can stop spam attacks
-even when nobody has ever seen the particular spam before.
-
-Bad Behavior is designed to work alongside existing spam prevention services
-to increase their effectiveness and efficiency. Whenever possible, you should
-run it in combination with a more traditional spam prevention service.
-
-Bad Behavior works on, or can be adapted to, virtually any PHP-based Web
-software package. Bad Behavior is available natively for WordPress, MediaWiki,
-Drupal, ExpressionEngine, and LifeType, and people have successfully made it
-work with Movable Type, phpBB, and many other packages.
-
-Installing and configuring Bad Behavior on most platforms is simple and takes
-only a few minutes. In most cases, no configuration at all is needed. Simply
-turn it on and stop worrying about spam!
-
-The core of Bad Behavior is free software released under the GNU General
-Public License. (On some non-free platforms, special license terms exist for
-Bad Behavior's platform connector.)
-
-== Installation ==
-
-*Warning*: If you are upgrading from a 1.x.x version of Bad Behavior,
-you must remove it from your system entirely, and delete all of its
-database tables, before installing Bad Behavior 2.0.x. You do not need
-to remove a 2.0.x version of Bad Behavior before upgrading to this
-release.
-
-Bad Behavior has been designed to install on each host software in the
-manner most appropriate to each platform. It's usually sufficient to
-follow the generic instructions for installing any plugin or extension
-for your host software.
-
-On MediaWiki, it is necessary to add a second line to LocalSettings.php
-when installing the extension. Your LocalSettings.php should include
-the following:
-
-`	include_once( 'includes/DatabaseFunctions.php' );
-	include( './extensions/Bad-Behavior/bad-behavior-mediawiki.php' );
-
-For complete documentation and installation instructions, please visit
-http://www.bad-behavior.ioerror.us/
-
-== Release Notes ==
-
-= Bad Behavior 2.0 Known Issues =
-
-* Bad Behavior may be unable to protect cached pages on MediaWiki.
-
-* On WordPress when using WordPress Advanced Cache (WP-Cache) or WP-Super
-Cache, Bad Behavior requires a patch to WP-Cache 2 in order to protect
-cached pages.
-
-  Edit the wp-content/plugins/wp-cache/wp-cache-phase1.php or
-wp-content/plugins/wp-super-cache/wp-cache-phase1.php file and find the
-following two lines at around line 34 (line 56 in WP-Super Cache):
-
-`	if (! ($meta = unserialize(@file_get_contents($meta_pathname))) )
-		return;`
-
-  Immediately after this, insert the following line:
-
-`	require_once( ABSPATH .  'wp-content/plugins/Bad-Behavior/bad-behavior-generic.php');`
-
-  Then visit your site. Everything should work normally, but spammers will
-not be able to access your cached pages either.
-
-* When using Bad Behavior in conjunction with Spam Karma 2, you may see PHP
-warnings when Spam Karma 2 displays its internally generated CAPTCHA. This
-is a design problem in Spam Karma 2. Contact the author of Spam Karma 2 for
-a fix.

Modified: plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/banned.inc.php
===================================================================
--- plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/banned.inc.php	2010-01-27 23:53:52 UTC (rev 6971)
+++ plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/banned.inc.php	2010-01-30 05:14:45 UTC (rev 6972)
@@ -7,6 +7,7 @@
 
 function bb2_display_denial($settings, $key, $previous_key = false)
 {
+	define('DONOTCACHEPAGE', true);	// WP Super Cache
 	if (!$previous_key) $previous_key = $key;
 	if ($key == "e87553e1") {
 		// FIXME: lookup the real key
@@ -25,7 +26,7 @@
 	header("Status: " . $response['response'] . " Bad Behavior");
 ?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
+<!--< html xmlns="http://www.w3.org/1999/xhtml">-->
 <head>
 <title>HTTP Error <?php echo $response['response']; ?></title>
 </head>

Modified: plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/blackhole.inc.php
===================================================================
--- plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/blackhole.inc.php	2010-01-27 23:53:52 UTC (rev 6971)
+++ plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/blackhole.inc.php	2010-01-30 05:14:45 UTC (rev 6972)
@@ -6,11 +6,15 @@
 }
 
 // Look up address on various blackhole lists.
-// These cannot be used for GET requests under any circumstances!
+// These should not be used for GET requests under any circumstances!
+// FIXME: Note that this code is no longer in use
 function bb2_blackhole($package) {
 	// Can't use IPv6 addresses yet
-	if (is_ipv6($package['REMOTE_ADDR'])) return;
+	if (@is_ipv6($package['ip'])) return false;
 
+	// Workaround for "MySQL server has gone away"
+	bb2_db_query("SET @@session.wait_timeout = 90");
+
 	// Only conservative lists
 	$bb2_blackhole_lists = array(
 		"sbl-xbl.spamhaus.org",	// All around nasties
@@ -45,10 +49,13 @@
 
 function bb2_httpbl($settings, $package) {
 	// Can't use IPv6 addresses yet
-	if (is_ipv6($package['REMOTE_ADDR'])) return;
+	if (@is_ipv6($package['ip'])) return false;
 
-	if (!$settings['httpbl_key']) return false;
+	if (@!$settings['httpbl_key']) return false;
 
+	// Workaround for "MySQL server has gone away"
+	bb2_db_query("SET @@session.wait_timeout = 90");
+
 	$find = implode('.', array_reverse(explode('.', $package['ip'])));
 	$result = gethostbynamel($settings['httpbl_key'].".${find}.dnsbl.httpbl.org.");
 	if (!empty($result)) {

Modified: plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/blacklist.inc.php
===================================================================
--- plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/blacklist.inc.php	2010-01-27 23:53:52 UTC (rev 6971)
+++ plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/blacklist.inc.php	2010-01-30 05:14:45 UTC (rev 6972)
@@ -32,6 +32,7 @@
 		"MJ12bot/v1.0.8",	// malicious botnet
 		"Movable Type",		// customised spambots
 		"Mozilla ",		// malicious software
+		"Mozilla/2",		// malicious software
 		"Mozilla/4.0(",		// from honeypot
 		"Mozilla/4.0+(",	// suspicious harvester
 		"MSIE",			// malicious software
@@ -48,6 +49,7 @@
 		"user",			// suspicious harvester
 		"User Agent: ",		// spam harvester
 		"User-Agent: ",		// spam harvester
+		"WebSite-X Suite",	// misc comment spam
 		"Winnie Poh",		// Automated Coppermine hacks
 		"Wordpress",		// malicious software
 		"\"",			// malicious software
@@ -87,7 +89,8 @@
 	// These are regular expression matches.
 	$bb2_spambots_regex = array(
 		"/^[A-Z]{10}$/",	// misc email spam
-		"/^Mozilla...[05]$/i",	// fake user agent/email spam
+// msnbot is using this fake user agent string now
+//		"/^Mozilla...[05]$/i",	// fake user agent/email spam
 		"/[bcdfghjklmnpqrstvwxz ]{8,}/",
 //		"/(;\){1,2}$/",		// misc spammers/harvesters
 //		"/MSIE.*Windows XP/",	// misc comment spam

Modified: plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/common_tests.inc.php
===================================================================
--- plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/common_tests.inc.php	2010-01-27 23:53:52 UTC (rev 6971)
+++ plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/common_tests.inc.php	2010-01-30 05:14:45 UTC (rev 6972)
@@ -25,7 +25,7 @@
 	// Enforce RFC 2965 sec 3.3.5 and 9.1
 	// Bots wanting new-style cookies should send Cookie2
 	// FIXME: Amazon Kindle is broken; Amazon has been notified 9/24/08
-	if (strpos($package['headers_mixed']['Cookie'], '$Version=0') !== FALSE && !array_key_exists('Cookie2', $package['headers_mixed']) && strpos($package['headers_mixed']['User-Agent'], "Kindle/") === FALSE) {
+	if (@strpos($package['headers_mixed']['Cookie'], '$Version=0') !== FALSE && !array_key_exists('Cookie2', $package['headers_mixed']) && strpos($package['headers_mixed']['User-Agent'], "Kindle/") === FALSE) {
 		return '6c502ff1';
 	}
 	return false;
@@ -45,13 +45,17 @@
 	if (strpos($package['request_uri'], "#") !== FALSE) {
 		return "dfd9b1ad";
 	}
+	// A pretty nasty SQL injection attack on IIS servers
+	if (strpos($package['request_uri'], ";DECLARE%20@") !== FALSE) {
+		return "dfd9b1ad";
+	}
 
 	// Range: field exists and begins with 0
 	// Real user-agents do not start ranges at 0
 	// NOTE: this blocks the whois.sc bot. No big loss.
 	// Exceptions: MT (not fixable); LJ (refuses to fix; may be
 	// blocked again in the future)
-	if (array_key_exists('Range', $package['headers_mixed']) && strpos($package['headers_mixed']['Range'], "=0-") !== FALSE) {
+	if ($settings['strict'] && array_key_exists('Range', $package['headers_mixed']) && strpos($package['headers_mixed']['Range'], "=0-") !== FALSE) {
 		if (strncmp($ua, "MovableType", 11) && strncmp($ua, "URI::Fetch", 10) && strncmp($ua, "php-openid/", 11)) {
 			return "7ad04a8a";
 		}
@@ -65,8 +69,10 @@
 	// Lowercase via is used by open proxies/referrer spammers
 	// Exceptions: Clearswift uses lowercase via (refuses to fix;
 	// may be blocked again in the future)
+	// Coral CDN uses lowercase via
 	if (array_key_exists('via', $package['headers']) &&
-		strpos($package['headers']['via'],'Clearswift') === FALSE) {
+		strpos($package['headers']['via'],'Clearswift') === FALSE &&
+		strpos($ua,'CoralWebPrx') === FALSE) {
 		return "9c9e4979";
 	}
 
@@ -114,7 +120,7 @@
 
 	if (array_key_exists('Referer', $package['headers_mixed'])) {
 		// Referer, if it exists, must not be blank
-		if (empty($package['headers_mixed'])) {
+		if (empty($package['headers_mixed']['Referer'])) {
 			return "69920ee5";
 		}
 

Modified: plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/core.inc.php
===================================================================
--- plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/core.inc.php	2010-01-27 23:53:52 UTC (rev 6971)
+++ plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/core.inc.php	2010-01-30 05:14:45 UTC (rev 6972)
@@ -110,6 +110,8 @@
 		$headers_mixed[uc_all($h)] = $v;
 	}
 
+	// IPv6 - IPv4 compatibility mode hack
+	$_SERVER['REMOTE_ADDR'] = preg_replace("/^::ffff:/", "", $_SERVER['REMOTE_ADDR']);
 	// We use these frequently. Keep a copy close at hand.
 	$ip = $_SERVER['REMOTE_ADDR'];
 	$request_method = $_SERVER['REQUEST_METHOD'];
@@ -181,7 +183,7 @@
 		} elseif (stripos($ua, "msnbot") !== FALSE || stripos($ua, "MS Search") !== FALSE) {
 			require_once(BB2_CORE . "/msnbot.inc.php");
 			bb2_test($settings, $package, bb2_msnbot($package));
-		} elseif (stripos($ua, "Googlebot") !== FALSE || stripos($ua, "Mediapartners-Google") !== FALSE) {
+		} elseif (stripos($ua, "Googlebot") !== FALSE || stripos($ua, "Mediapartners-Google") !== FALSE || stripos($ua, "Google Wireless") !== FALSE) {
 			require_once(BB2_CORE . "/google.inc.php");
 			bb2_test($settings, $package, bb2_google($package));
 		} elseif (stripos($ua, "Mozilla") !== FALSE && stripos($ua, "Mozilla") == 0) {

Modified: plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/post.inc.php
===================================================================
--- plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/post.inc.php	2010-01-27 23:53:52 UTC (rev 6971)
+++ plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/post.inc.php	2010-01-30 05:14:45 UTC (rev 6972)
@@ -32,7 +32,7 @@
 	}
 
 	// If Referer exists, it should refer to a page on our site
-	if (array_key_exists('Referer', $package['headers_mixed']) && stripos($package['headers_mixed']['Referer'], $package['headers_mixed']['Host']) === FALSE) {
+    if ($settings['offsite_forms'] && array_key_exists('Referer', $package['headers_mixed']) && stripos($package['headers_mixed']['Referer'], $package['headers_mixed']['Host']) === FALSE) {
 		return "cd361abb";
 	}
 

Modified: plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/responses.inc.php
===================================================================
--- plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/responses.inc.php	2010-01-27 23:53:52 UTC (rev 6971)
+++ plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/responses.inc.php	2010-01-30 05:14:45 UTC (rev 6972)
@@ -14,10 +14,10 @@
 		'35ea7ffa' => array('response' => 403, 'explanation' => 'You do not have permission to access this server. Check your browser\'s language and locale settings.', 'log' => 'Invalid language specified'),
 		'408d7e72' => array('response' => 403, 'explanation' => 'You do not have permission to access this server. Before trying again, run anti-virus and anti-spyware software and remove any viruses and spyware from your computer.', 'log' => 'POST comes too quickly after GET'),
 		'41feed15' => array('response' => 400, 'explanation' => 'An invalid request was received. This may be caused by a malfunctioning proxy server. Bypass the proxy server and connect directly, or contact your proxy server administrator.', 'log' => 'Header \'Pragma\' without \'Cache-Control\' prohibited for HTTP/1.1 requests'),
-		'45b35e30' => array('response' => 403, 'explanation' => 'An invalid request was received from your browser. This may be caused by a malfunctioning proxy server or browser privacy software.', 'log' => 'Header \'Referer\' is corrupt'),
+		'45b35e30' => array('response' => 400, 'explanation' => 'An invalid request was received from your browser. This may be caused by a malfunctioning proxy server or browser privacy software.', 'log' => 'Header \'Referer\' is corrupt'),
 		'57796684' => array('response' => 403, 'explanation' => 'You do not have permission to access this server. Before trying again, run anti-virus and anti-spyware software and remove any viruses and spyware from your computer.', 'log' => 'Prohibited header \'X-Aaaaaaaaaa\' or \'X-Aaaaaaaaaaaa\' present'),
 		'582ec5e4' => array('response' => 400, 'explanation' => 'An invalid request was received. If you are using a proxy server, bypass the proxy server or contact your proxy server administrator. This may also be caused by a bug in the Opera web browser.', 'log' => '"Header \'TE\' present but TE not specified in \'Connection\' header'),
-		'69920ee5' => array('response' => 403, 'explanation' => 'An invalid request was received from your browser. This may be caused by a malfunctioning proxy server or browser privacy software.', 'log' => 'Header \'Referer\' present but blank'),
+		'69920ee5' => array('response' => 400, 'explanation' => 'An invalid request was received from your browser. This may be caused by a malfunctioning proxy server or browser privacy software.', 'log' => 'Header \'Referer\' present but blank'),
 		'6c502ff1' => array('response' => 403, 'explanation' => 'You do not have permission to access this server.', 'log' => 'Bot not fully compliant with RFC 2965'),
 		'799165c2' => array('response' => 403, 'explanation' => 'You do not have permission to access this server.', 'log' => 'Rotating user-agents detected'),
 		'7a06532b' => array('response' => 400, 'explanation' => 'An invalid request was received from your browser. This may be caused by a malfunctioning proxy server or browser privacy software.', 'log' => 'Required header \'Accept-Encoding\' missing'),
@@ -34,6 +34,7 @@
 		'c1fa729b' => array('response' => 403, 'explanation' => 'You do not have permission to access this server. Before trying again, run anti-virus and anti-spyware software and remove any viruses and spyware from your computer.', 'log' => 'Use of rotating proxy servers detected'),
 		'cd361abb' => array('response' => 403, 'explanation' => 'You do not have permission to access this server. Data may not be posted from offsite forms.', 'log' => 'Referer did not point to a form on this site'),
 		'd60b87c7' => array('response' => 403, 'explanation' => 'You do not have permission to access this server. Before trying again, please remove any viruses or spyware from your computer.', 'log' => 'Trackback received via proxy server'),
+		'e3990b47' => array('response' => 403, 'explanation' => 'You do not have permission to access this server. Before trying again, please remove any viruses or spyware from your computer.', 'log' => 'Obviously fake trackback received'),
 		'dfd9b1ad' => array('response' => 403, 'explanation' => 'You do not have permission to access this server.', 'log' => 'Request contained a malicious JavaScript or SQL injection attack'),
 		'e4de0453' => array('response' => 403, 'explanation' => 'An invalid request was received. You claimed to be a major search engine, but you do not appear to actually be a major search engine.', 'log' => 'User-Agent claimed to be msnbot, claim appears to be false'),
 		'e87553e1' => array('response' => 403, 'explanation' => 'You do not have permission to access this server.', 'log' => 'I know you and I don\'t like you, dirty spammer.'),

Modified: plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/trackback.inc.php
===================================================================
--- plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/trackback.inc.php	2010-01-27 23:53:52 UTC (rev 6971)
+++ plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/trackback.inc.php	2010-01-30 05:14:45 UTC (rev 6972)
@@ -12,6 +12,16 @@
 	if (array_key_exists('Via', $package['headers_mixed']) || array_key_exists('Max-Forwards', $package['headers_mixed']) || array_key_exists('X-Forwarded-For', $package['headers_mixed']) || array_key_exists('Client-Ip', $package['headers_mixed'])) {
 		return 'd60b87c7';
 	}
+
+	// Fake WordPress trackbacks
+	// Real ones do not contain Accept:, and have a charset defined
+	// Real WP trackbacks may contain Accept: depending on the HTTP
+	// transport being used by the sending host
+	if (strpos($package['headers_mixed']['User-Agent'], "WordPress/") !== FALSE) {
+		if (strpos($package['headers_mixed']['Content-Type'], "charset=") === FALSE) {
+			return 'e3990b47';
+		}
+	}
 	return false;
 }
 

Modified: plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/version.inc.php
===================================================================
--- plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/version.inc.php	2010-01-27 23:53:52 UTC (rev 6971)
+++ plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/version.inc.php	2010-01-30 05:14:45 UTC (rev 6972)
@@ -1,3 +1,3 @@
 <?php if (!defined('BB2_CWD')) die("I said no cheating!");
-define('BB2_VERSION', "2.0.26");
+define('BB2_VERSION', "2.0.36");
 ?>

Modified: plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/whitelist.inc.php
===================================================================
--- plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/whitelist.inc.php	2010-01-27 23:53:52 UTC (rev 6971)
+++ plog/branches/lifetype-1.2/plugins/badbehavior/bad-behavior/whitelist.inc.php	2010-01-30 05:14:45 UTC (rev 6972)
@@ -40,6 +40,21 @@
 
 	// DANGER! DANGER! DANGER! DANGER! DANGER! DANGER! DANGER! DANGER!
 
+	// Inappropriate whitelisting WILL expose you to spam, or cause Bad
+	// Behavior to stop functioning entirely!  DO NOT WHITELIST unless you
+	// are 100% CERTAIN that you should.
+
+	// URLs are matched from the first / after the server name up to,
+	// but not including, the ? (if any).
+
+	// Includes two examples of whitelisting by URL.
+	$bb2_whitelist_urls = array(
+	//	"/example.php",
+	//	"/openid/server",
+	);
+
+	// DANGER! DANGER! DANGER! DANGER! DANGER! DANGER! DANGER! DANGER!
+
 	// Do not edit below this line
 
 	if (!empty($bb2_whitelist_ip_ranges)) {
@@ -52,6 +67,16 @@
 			if (!strcmp($package['headers_mixed']['User-Agent'], $user_agent)) return true;
 		}
 	}
+	if (!empty($bb2_whitelist_urls)) {
+		if (strpos($package['request_uri'], "?") === FALSE) {
+			$request_uri = $package['request_uri'];
+		} else {
+			$request_uri = substr($package['request_uri'], 0, strpos($settings['request_uri'], "?"));
+		}
+		foreach ($bb2_whitelist_urls as $url) {
+			if (!strcmp($request_uri, $url)) return true;
+		}
+	}
 	return false;
 }
 

Modified: plog/branches/lifetype-1.2/plugins/badbehavior/pluginbadbehavior.class.php
===================================================================
--- plog/branches/lifetype-1.2/plugins/badbehavior/pluginbadbehavior.class.php	2010-01-27 23:53:52 UTC (rev 6971)
+++ plog/branches/lifetype-1.2/plugins/badbehavior/pluginbadbehavior.class.php	2010-01-30 05:14:45 UTC (rev 6972)
@@ -20,7 +20,7 @@
 			$this->desc = "Bad Behavior for LifeType";
 			$this->author = "The Lifetype Project";
 			$this->db =& Db::getDb();
-            		$this->version = "20081202";
+            $this->version = "20100130";
 		
 			$config =& Config::getConfig();
 			$prefix = Db::getPrefix();



More information about the pLog-svn mailing list