Extension talk:Check Spambots
Only check for spammers on the initial user signup?
editA 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!
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)
Thank you kindly for the solution!!
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
editThere 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?
editis 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?
editSo 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
editSince 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)
- The IsSpammerInDB function no longer exists? Is there another way to do this Crazy Jake88 (talk) 18:26, 27 March 2012 (UTC)
MediaWiki 1.18
editI 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)
wgOut->errorPage() method
editThe 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.
Strange error
editWhile 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)
Testing
editHow do you test the installation is doing anything? --Rob Kam (talk) 08:57, 16 April 2013 (UTC)
AHBL always returns true
editAs 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)