Extension talk:Check Spambots
Contents |
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!
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 [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)
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)
-
- 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? [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)
[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)
-
- 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 [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)
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)
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)
Testing [edit]
How do you test the installation is doing anything? --Rob Kam (talk) 08:57, 16 April 2013 (UTC)