Extension talk:Check Spambots

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 should cause the extension to check new user creation only. --Carlb 01:19, 16 November 2009 (UTC)

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)

File needs to be added to the install list
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)

MySQL information needed?
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)
 * 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)

What? I who am the sysop turn out to be a spammer?
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)

Suggested modification for shared hosting
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:

// 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; }		}
 * In "functions.php", within the "IsSpammerInDB" function, add a table exists check after the database exists check, just so:
 * 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)