Extension talk:Check Spambots

From mediawiki.org
Latest comment: 8 years ago by 91.229.169.199 in topic AHBL always returns true

Only check for spammers on the initial user signup?[edit]

A question for the author of this extension...

I don't need the edit check of a user because my wiki is log-in to edit, what do I have to remove to make this extension only check for spammers on the initial user signup?

Thanks much!

TeraS

Removing this line

$wgHooks['GetBlockedStatus'][] = 'CheckSpambots::check_edit';

should cause the extension to check new user creation only. --Carlb 01:19, 16 November 2009 (UTC)Reply

Thank you kindly for the solution!!

TeraS

That line of code can be found in the file CheckSpambots.php --Stuart Halliday 15:02, 24 November 2010 (UTC)Reply

File needs to be added to the install list[edit]

There is a whitelist.sample.txt file in the latest versions of this software (0.49 and higher) if you do not copy that file you will break your wiki...


FYI

TeraS 14:52, 17 April 2010 (UTC)Reply


MySQL information needed?[edit]

is it necessary to put the mysql database username und password in the config.php? I think this is insecure, or? --85.127.217.168 11:54, 14 August 2010 (UTC)Reply

No it's not needed. You need to enter that if you want a new database on your server to store the information on the spammers the check catches and rejects.TeraSuccubi 00:31, 17 September 2010 (UTC)Reply

What? I who am the sysop turn out to be a spammer?[edit]

So I created a wiki recently and I was having a spam problem, so I install this Check Spambots extension and it looks great and all, I get it up and working... And a few days later I begin getting all these internal 500 errors on my wiki. Can't figure what is going on. Until I go back to Checkspambots, click on "View Spammers", and among the ones that have detected and blocked is my own ip address! It says that botscout detected it as a spamming address. What is going on here? --Lwangaman 09:50, 20 October 2010 (UTC)Reply

Suggested modification for shared hosting[edit]

Since most shared hosting services do not give permissions for database creation, I would suggest taking into account those cases where a database already exists but the "tblspammers" table doesn't... Here is what I did:

  • In "functions.php", within the "IsSpammerInDB()" function, add a table exists check after the database exists check, just so:
		// Check our database exists shall we?
		$ret = mysql_select_db($dbname);
		if($ret == "0"){
			// Okay, lets try and create it then ....
			$ret = CreateDatabase($host, $username, $password, $dbname);
			$ret = mysql_select_db($dbname);
			if($ret == "0"){
				mysql_close($conSBST);
				return false;
			}
		}
		$tbl_tst_SQL = "SELECT COUNT(*) FROM information_schema.tables ".
                               "WHERE table_schema = '$dbname' AND table_name = 'tblspammers'";
		$ret = mysql_query($tbl_tst_SQL);
		if($ret == "0"){
			// Database already exists but we still have to create the table ...
			$ret = CreateTable($host, $username, $password, $dbname);
			$ret = mysql_query($tbl_tst_SQL);
			if($ret == "0"){
				mysql_close($conSBST);
				return false;
			}
		}
  • Do the same in the "LogSpammerToDB()" function
  • Create a new function called "CreateTable()" right after the "CreateDatabase()" function, just so:
  function CreateTable($host, $username, $password, $dbname){
	$conSBST = mysql_connect($host,$username,$password);
	if(!$conSBST){
		return false;
	}else{
		// Create table if it doesn't exist
		mysql_select_db($dbname, $conSBST);
		$sSQL = "CREATE TABLE IF NOT EXISTS tblspammers
		(
			fldspammer_id int NOT NULL AUTO_INCREMENT,
			PRIMARY KEY(fldspammer_id),
			fldspammer_name varchar(255),
			fldspammer_ip varchar(15),
			fldspammer_mail varchar(255),
			flddb_matched varchar(255),
			fldadded DATE,
			fldspammer_count int
		)";
		// Execute query
		if(!mysql_query($sSQL,$conSBST)){
			return mysql_error();
		}

		// ********************************
		// Not currently required
		// ********************************
		// Create counter table
		//mysql_select_db($dbname, $conSBST);
		//$sSQL = "CREATE TABLE IF NOT EXISTS tblspamcount(fldspam_count int)";
		// Execute query
		//if(!mysql_query($sSQL,$conSBST)){
		//	return mysql_error();
		//}

		// Cleanup
		if(!mysql_close($conSBST)){
			return mysql_error();
		}
		// Finish
		return true;
	}
  }

--Lwangaman 09:59, 20 October 2010 (UTC)Reply

The IsSpammerInDB function no longer exists? Is there another way to do this Crazy Jake88 (talk) 18:26, 27 March 2012 (UTC)Reply

MediaWiki 1.18[edit]

I installed this extension on a MediaWiki 1.18. I don't know if I did something wrong or if this is due to a change in MediaWiki, but for me, the following

  $current_user->mBlockedby = wfMsg( 'proxyblocker' );
  $current_user->mBlockreason = wfMsg( 'proxyblockreason' );

does not block a user. I have a replaced it by

  throw new ReadOnlyError ;

as a workaround. Apart from that, everything works fine!! --Kipmaster 07:28, 2 August 2011 (UTC)Reply

wgOut->errorPage() method[edit]

The following line(s)...

  $wgOut->errorPage( 'blacklistedusername', 'blacklistedusernametext' );
  $wgOut->returnToMain( false, $returnTitle->getPrefixedText() );

...give:

Fatal error: Call to undefined method OutputPage::errorPage()

I replaced this with:

  $wgOut->showErrorPage('error','badarticleerror');

...which isn't exactly right but does the job and doesn't error. Dunno where the errorPage function came from. It doesn't seem to exist.

212.7.206.51 00:12, 5 January 2012 (UTC)Reply

Strange error[edit]

While conducting a IP search using Special:GlobalBlockList, it returns this message:

"Tornevall counter.sample.txt is missing, I need this to create counter.txt unless you are going to create it yourself?"

Here are a couple screenshots of the pages [1] [2]

Not sure what is causing this. A discussion at Bugzilla led me to edit out the "Require_once" statement of this extension and after doing so did not receive the error. Any help or direction would be appreciated.
Mlpearc powwow 20:44, 30 January 2012 (UTC)Reply

Testing[edit]

How do you test the installation is doing anything? --Rob Kam (talk) 08:57, 16 April 2013 (UTC)Reply

AHBL always returns true[edit]

 As promised in April, on Jan 1st, 2015, i'll be wildcarding all zones no longer in operation - this includes rhsbl.ahbl.org, dnsbl.ahbl.org, and ircbl.ahbl.org.  This means that these services will return positive responses for any queries.

So AHBL must be disabled in Spam check --91.229.169.199 10:45, 15 September 2015 (UTC)Reply