Forums

Unfortunately no one can be told what FluxBB is - you have to see it for yourself.

You are not logged in.

#1 2012-11-22 21:30:22

sklerder
Member
From: Brittany
Registered: 2012-11-06
Posts: 117
Website

SPAM blocking : SpamBarrier mod

Good evening.

Following various discussions on SPAM, particularly this one) on the French FluxBB forum, and how to block these spammers, I created a module, SpamBarrier, that gathers the means that I like.
I made sure that each function is also as configurable as possible.

To achieve this module, I relied on other modules and existing work :
Reines : HoneyPot and StopForumSpam (no mod)
Blissend : SpamIpCheck (mod)
adaur : exemple of adding StopForumSpam in FluxBB (FluxBB.fr)
Koos : HoneyPot + StopForumSpam (mod)

I was particularly inspired by Koos solution, particularly for plugin administration.

What this mod provides :
- Ability to control registrations by HoneyPot field (registration only)
- Ability to control registrations and connections by querying the StopForumSpam database
- Ability to control registrations and connections with DNSBL servers
- "HoneyPot" field customizable
- Possibility of submit detected spammers to StopForumSpam service (HoneyPot detection and deleting spammer's registered account)
- Setting the API key for StopForumSpam

From Koos mod, I kept the table of register attempts, and have enhanced it :
- On HoneyPot detection, it saves the http "POST" data of registration, and the registration error messages (usually mandatory field is not filled, there is an error message indicating that the user name must contain two characters), all in the format "serial".
- Upon detection SFS, it records the account of SFS (format "json")
- Upon detection DNSBL, it records the status provided by each server queried (list separated by commas)

Examples:
- Blocked by HoneyPot control :
errors -> a:1:{i:0;s:109: "User names must contain at least 2 characters. Please choose a different username.";}
info ->

- Blocked by SFS control :
errors -> a:0:{}
info -> {"success":1,"username":{"lastseen":"2012-11-10 12:31:34","frequency":148,"appears":1,"confidence":94.11},"email":{"frequency":0,"appears":0},"ip":{"lastseen":"2012-11-21 21:58:11","frequency":4378,"appears":1,"confidence":99.97}}

- Blocked by DNSBL :
errors -> a:0:{}
info -> (sbl.spamhaus.org:0,xbl.spamhaus.org:0,b.barracudacentral.org:0,opm.tornevall.org:1)

I also kept the statistics module in the plugin, it allows you to quickly see if all is OK.
Some screenshots of the plugin :

SpamBarrier_en_plugin_1.jpg
_____
SpamBarrier_en_plugin_2.jpg
_____
SpamBarrier_en_plugin_3.jpg


Edit : Important !
To install this mod, like any mod, you have to apply all the steps in the provided "readme.txt".

__________________________________________
Please excuse my bad english, I'm French.

Last edited by sklerder (2013-01-18 17:32:38)

Offline

#2 2012-11-23 00:31:03

Visman
Member
From: Siberia
Registered: 2010-07-10
Posts: 1,120

Re: SPAM blocking : SpamBarrier mod

1. This topic is created in the wrong category.
2. Plugin is no filtration of deduced information - is a problem of safety.
Example

									<input type="text" name="form[sb_custom_field_name]" size="20" maxlength="30" value="<?php echo $pun_config['o_sb_custom_field_name'] ?>" />

3. There is an assumption that this plugin won't work in FluxBB 1.5.1 wink


My modification of FluxBB 1.5.10 - rev.76 * Parserus - BBCode parser
I speak only Russian  tongue

Offline

#3 2012-11-23 01:24:53

Franz
Lead developer
From: Germany
Registered: 2008-05-13
Posts: 6,472
Website

Re: SPAM blocking : SpamBarrier mod

Visman wrote:

1. This topic is created in the wrong category.

Moved.


fluxbb.de | develoPHP

"As code is more often read than written it's really important to write clean code."

Offline

#4 2012-11-23 08:14:11

sklerder
Member
From: Brittany
Registered: 2012-11-06
Posts: 117
Website

Re: SPAM blocking : SpamBarrier mod

Hello !

1) Sorry, I have not seen sad Thanks for the moving, Franz!
3) Unfortunately, this mod does not work with 1.5.1. I'll try to do the modificaton for 1.5.1, but there is a little work ...

2) Can you give me an advice, Visman (the function to use), I'm not an expert ?
Will "pun_htmlspecialchars" do the trick, or should it be more controlled ?
As this string should be set by an administrator, Ididn't think it should be filtered ...

Thanks

Offline

#5 2012-11-23 08:28:08

Franz
Lead developer
From: Germany
Registered: 2008-05-13
Posts: 6,472
Website

Re: SPAM blocking : SpamBarrier mod

sklerder wrote:

2) Can you give me an advice, Visman (the function to use), I'm not an expert ?
Will "pun_htmlspecialchars" do the trick, or should it be more controlled ?
As this string should be set by an administrator, Ididn't think it should be filtered ...

It's the same problem that was fixed in 1.5.1. Not a vulnerability per default, but in combination with a SQL injection vulnerability it might become a problem. Escaping by default is always good. And yes, you can use pun_htmlspecialchars().


fluxbb.de | develoPHP

"As code is more often read than written it's really important to write clean code."

Offline

#6 2012-11-23 08:59:07

Visman
Member
From: Siberia
Registered: 2010-07-10
Posts: 1,120

Re: SPAM blocking : SpamBarrier mod

all

echo $pun_config['o_sb_...']

replace

echo pun_htmlspecialchars($pun_config['o_sb_...'])

My modification of FluxBB 1.5.10 - rev.76 * Parserus - BBCode parser
I speak only Russian  tongue

Offline

#7 2012-11-23 09:20:26

Visman
Member
From: Siberia
Registered: 2010-07-10
Posts: 1,120

Re: SPAM blocking : SpamBarrier mod

Franz wrote:

It's the same problem that was fixed in 1.5.1. Not a vulnerability per default, but in combination with a SQL injection vulnerability it might become a problem.

I thought not of this problem.
But rather this problem I should check plugins in my mods.


My modification of FluxBB 1.5.10 - rev.76 * Parserus - BBCode parser
I speak only Russian  tongue

Offline

#8 2012-11-24 18:15:09

sklerder
Member
From: Brittany
Registered: 2012-11-06
Posts: 117
Website

Re: SPAM blocking : SpamBarrier mod

Hello !

I released a new version (1.0.2), taking into account modifications proposed by Visman and Franz.

I hope this mod will help to fight agains spammers smile

Warning : Doesn't work as is with FluxBB 1.5.1. It's, for the moment, up to you to port it on 1.5.1 !

Last edited by sklerder (2012-11-26 22:15:49)

Offline

#9 2012-11-26 22:12:38

sklerder
Member
From: Brittany
Registered: 2012-11-06
Posts: 117
Website

Re: SPAM blocking : SpamBarrier mod

Hello !

I released a new version (1.0.4), compatible with 1.5.1 and 1.5.0.

No other modification(s).

Last edited by sklerder (2012-11-26 22:16:13)

Offline

#10 2012-12-01 21:03:42

Pikiel
New member
Registered: 2012-12-01
Posts: 3

Re: SPAM blocking : SpamBarrier mod

What did you changed in 1.0.4 version to make it compatible with 1.5.x, as diff doesn't show any particular change beside bumping the version?

Why do you have commented code in spambarier.php in function sb_check_spam_registration? Looks to me like it's half finished.

Why oh why, do you do so many SELECT queries in AP_SpamBarrier.php to calculate statistics? You can do this in one query (most of them) using GROUP BY, instead of running 16 queries. Same thing you can do for calculating date - it's much more efficient to do this on SQL server side instead of PHP, as each exacution of time() function means one I/O call.

Offline

#11 2012-12-01 21:17:04

Pikiel
New member
Registered: 2012-12-01
Posts: 3

Re: SPAM blocking : SpamBarrier mod

In function log_register_details you are inserting data to test_registrations table.
Why don't you escaped all variables? Specially when you fetch them from globals and have no idea who and when created them and from where they come?

As for date column in that table. Why is it an INT and not DATETIME or TIMESTAMP? The purpose of MySQL strong type definitions is to treat date in type context. Plus MySQL offers tons of functions that can do some useful stuff with that, like NOW() function. You can read more about it here: http:// dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

Last edited by Pikiel (2012-12-01 21:17:21)

Offline

#12 2012-12-01 21:25:45

Pikiel
New member
Registered: 2012-12-01
Posts: 3

Re: SPAM blocking : SpamBarrier mod

OK, one more thing smile

Instead of using numbers in context of some kind state - like in functions sb_check_spam_registration and sb_stopforumspam_check consider using constants. If you name it, it will have a meaning to other people reading your code, specially as you don't have it documented.

Beside if you them as constants you can easily change their values in definitions instead of finding and replacing all places where you used these values (as it is now).

And please don't consider all I said as an attack. It's just small things that can make this plugin better. And won't force me to rewrite it big_smile

Edit:
OK, I think I know why date's are as INT types. Sigh, took me only 3 hours to run thru all FluxBB code and DB. It's for portability reasons to various db engines, right? I hope it can be 'fixed' in FluxBB 2.0 where you can use something more transparent api, that won't force you to these kind of tricks.

Tho, I'd like to do some performance test INT's vs DATEs, and MyISAM vs InnoDB on some huge posts database. For now, I'm gonna try to dig something from Google.

Last edited by Pikiel (2012-12-01 22:55:30)

Offline

#13 2012-12-02 22:27:55

sklerder
Member
From: Brittany
Registered: 2012-11-06
Posts: 117
Website

Re: SPAM blocking : SpamBarrier mod

Hi !

What did you changed in 1.0.4 version to make it compatible with 1.5.x, as diff doesn't show any particular change beside bumping the version?

The difference between 1.0.4 and 1.0.2 was a minor modification (in the readme.txt, I'm surprised you didn't see it :/). The modification  is related to login filtering, step #31 :
1.0.2 :

Find
	// Remove this users guest entry from the online list

1.0.4 :

Find
	// Remove this user

Why do you have commented code in spambarier.php in function sb_check_spam_registration? Looks to me like it's half finished.

Have you ver seen a program finished ? :)
Furthermore, in terms of SPAM fighting ? :D
I never said it was finished ...
Did you read this, in install_mod.php :

// 'o_sb_sfs_maxcheck' and 'o_sb_out_of_limit_ok' are there for future usage, not implemented at the moment.

Concerning the number of statistics requests, it comes from from Koos's mod (Honeypot StopForumSpam Mod), as it's partially said in the presentation of the mod.
I nether said it was perfect, but I'm not able to make it better without big work and studies :)

If you propose a better way to treat these statistics, no problem, I'll try to integrate them in a further version (perhaps Koos will propose a better code, too ...).

As I said in a previous post, I'm not an expert, just a FluxBB user who tries to make things better, like many others here (and on the French FluxBB forum, fluxbb.org)

If you want to help to make things better, no problem, but please take into account all the parameters that can interfere, specially the fact I'm neither a PHP developper, nor a MySQL specialist ;)

Offline

#14 2012-12-05 17:01:05

nferrari
New member
Registered: 2012-12-05
Posts: 3

Re: SPAM blocking : SpamBarrier mod

Hi,

This plugin does not work with PostgreSQL because queries seems to use MySQL functions, too bad :'(

Regards,

Offline

#15 2012-12-05 17:51:28

nferrari
New member
Registered: 2012-12-05
Posts: 3

Re: SPAM blocking : SpamBarrier mod

Here is a patch i did to make it work with PostgreSQL:

--- a/plugins/AP_SpamBarrier.php	2012-11-27 00:04:10.000000000 +0100
+++ b/plugins/AP_SpamBarrier.php	2012-12-05 18:10:16.000000000 +0100
@@ -130,43 +130,42 @@
 	
 	$result = $db->query('SELECT MIN(date) FROM '.$db->prefix.'test_registrations') or error('Error1', __FILE__, __LINE__, $db->error());
 	$stats['collecting_since'] = $db->result($result);
-
-	$result = $db->query('SELECT COUNT(id) FROM '.$db->prefix.'test_registrations WHERE spam=0') or error('Error2', __FILE__, __LINE__, $db->error());
+	$result = $db->query('SELECT COUNT(id) FROM '.$db->prefix.'test_registrations WHERE spam=\'0\'') or error('Error2', __FILE__, __LINE__, $db->error());
 	$stats['num_nospam'] = $db->result($result);
-	$result = $db->query('SELECT COUNT(id) FROM '.$db->prefix.'test_registrations WHERE spam=1') or error('Error3', __FILE__, __LINE__, $db->error());
+	$result = $db->query('SELECT COUNT(id) FROM '.$db->prefix.'test_registrations WHERE spam=\'1\'') or error('Error3', __FILE__, __LINE__, $db->error());
 	$stats['num_honeypot'] = $db->result($result);
-	$result = $db->query('SELECT COUNT(id) FROM '.$db->prefix.'test_registrations WHERE spam=2') or error('Error4', __FILE__, __LINE__, $db->error());
+	$result = $db->query('SELECT COUNT(id) FROM '.$db->prefix.'test_registrations WHERE spam=\'2\'') or error('Error4', __FILE__, __LINE__, $db->error());
 	$stats['num_blacklist'] = $db->result($result);
-	$result = $db->query('SELECT COUNT(id) FROM '.$db->prefix.'test_registrations WHERE spam=3') or error('Error4', __FILE__, __LINE__, $db->error());
+	$result = $db->query('SELECT COUNT(id) FROM '.$db->prefix.'test_registrations WHERE spam=\'3\'') or error('Error4', __FILE__, __LINE__, $db->error());
 	$stats['num_dnsbl'] = $db->result($result);
 	
-	$result = $db->query('SELECT COUNT(id)/7 FROM '.$db->prefix.'test_registrations WHERE spam=0 AND date > '.(time() - 7*24*60*60)) or error('Error5', __FILE__, __LINE__, $db->error());
+	$result = $db->query('SELECT COUNT(id)/7 FROM '.$db->prefix.'test_registrations WHERE spam=\'0\' AND date > '.(time() - 7*24*60*60)) or error('Error5', __FILE__, __LINE__, $db->error());
 	$stats['avg_nospam'] = $db->result($result);
-	$result = $db->query('SELECT COUNT(id)/7 FROM '.$db->prefix.'test_registrations WHERE spam=1 AND date > '.(time() - 7*24*60*60)) or error('Error6', __FILE__, __LINE__, $db->error());
+	$result = $db->query('SELECT COUNT(id)/7 FROM '.$db->prefix.'test_registrations WHERE spam=\'1\' AND date > '.(time() - 7*24*60*60)) or error('Error6', __FILE__, __LINE__, $db->error());
 	$stats['avg_honeypot'] = $db->result($result);
-	$result = $db->query('SELECT COUNT(id)/7 FROM '.$db->prefix.'test_registrations WHERE spam=2 AND date > '.(time() - 7*24*60*60)) or error('Error7', __FILE__, __LINE__, $db->error());
+	$result = $db->query('SELECT COUNT(id)/7 FROM '.$db->prefix.'test_registrations WHERE spam=\'2\' AND date > '.(time() - 7*24*60*60)) or error('Error7', __FILE__, __LINE__, $db->error());
 	$stats['avg_blacklist'] = $db->result($result);
-	$result = $db->query('SELECT COUNT(id)/7 FROM '.$db->prefix.'test_registrations WHERE spam=3 AND date > '.(time() - 7*24*60*60)) or error('Error7', __FILE__, __LINE__, $db->error());
+	$result = $db->query('SELECT COUNT(id)/7 FROM '.$db->prefix.'test_registrations WHERE spam=\'3\' AND date > '.(time() - 7*24*60*60)) or error('Error7', __FILE__, __LINE__, $db->error());
 	$stats['avg_dnsbl'] = $db->result($result);
 
-	$result = $db->query('SELECT DATE(FROM_UNIXTIME(date)) AS day, COUNT(date) AS num_blocked FROM '.$db->prefix.'test_registrations WHERE spam = 0 AND date GROUP BY DATE(FROM_UNIXTIME(date)) ORDER BY num_blocked DESC LIMIT 1') or error('Error8', __FILE__, __LINE__, $db->error());
+	$result = $db->query('SELECT DATE(FROM_UNIXTIME(date)) AS day, COUNT(date) AS num_blocked FROM '.$db->prefix.'test_registrations WHERE spam = \'0\' AND bool(date) GROUP BY DATE(FROM_UNIXTIME(date)) ORDER BY num_blocked DESC LIMIT 1') or error('Error8', __FILE__, __LINE__, $db->error());
 	list($stats['most_nospam_date'], $stats['most_nospam_num']) = $db->fetch_row($result);
-	$result = $db->query('SELECT DATE(FROM_UNIXTIME(date)) AS day, COUNT(date) AS num_blocked FROM '.$db->prefix.'test_registrations WHERE spam = 1 AND date GROUP BY DATE(FROM_UNIXTIME(date)) ORDER BY num_blocked DESC LIMIT 1') or error('Error9', __FILE__, __LINE__, $db->error());
+	$result = $db->query('SELECT DATE(FROM_UNIXTIME(date)) AS day, COUNT(date) AS num_blocked FROM '.$db->prefix.'test_registrations WHERE spam = \'1\' AND bool(date) GROUP BY DATE(FROM_UNIXTIME(date)) ORDER BY num_blocked DESC LIMIT 1') or error('Error9', __FILE__, __LINE__, $db->error());
 	list($stats['most_honeypot_date'], $stats['most_honeypot_num']) = $db->fetch_row($result);
-	$result = $db->query('SELECT DATE(FROM_UNIXTIME(date)) AS day, COUNT(date) AS num_blocked FROM '.$db->prefix.'test_registrations WHERE spam = 2 AND date GROUP BY DATE(FROM_UNIXTIME(date)) ORDER BY num_blocked DESC LIMIT 1') or error('Error10', __FILE__, __LINE__, $db->error());
+	$result = $db->query('SELECT DATE(FROM_UNIXTIME(date)) AS day, COUNT(date) AS num_blocked FROM '.$db->prefix.'test_registrations WHERE spam = \'2\' AND bool(date) GROUP BY DATE(FROM_UNIXTIME(date)) ORDER BY num_blocked DESC LIMIT 1') or error('Error10', __FILE__, __LINE__, $db->error());
 	list($stats['most_blacklist_date'], $stats['most_blacklist_num']) = $db->fetch_row($result);
-	$result = $db->query('SELECT DATE(FROM_UNIXTIME(date)) AS day, COUNT(date) AS num_blocked FROM '.$db->prefix.'test_registrations WHERE spam = 3 AND date GROUP BY DATE(FROM_UNIXTIME(date)) ORDER BY num_blocked DESC LIMIT 1') or error('Error10', __FILE__, __LINE__, $db->error());
+	$result = $db->query('SELECT DATE(FROM_UNIXTIME(date)) AS day, COUNT(date) AS num_blocked FROM '.$db->prefix.'test_registrations WHERE spam = \'3\' AND bool(date) GROUP BY DATE(FROM_UNIXTIME(date)) ORDER BY num_blocked DESC LIMIT 1') or error('Error10', __FILE__, __LINE__, $db->error());
 	list($stats['most_dnsbl_date'], $stats['most_dnsbl_num']) = $db->fetch_row($result);
 
-	$result = $db->query('SELECT DATE(FROM_UNIXTIME(date)) AS day, COUNT(date) AS num_blocked FROM '.$db->prefix.'test_registrations WHERE spam = 1 AND date > '.(time()-14*24*60*60).' GROUP BY DATE(FROM_UNIXTIME(date))') or error('Unable to fetch honeypot 14 day log', __FILE__, __LINE__, $db->error());
+	$result = $db->query('SELECT DATE(FROM_UNIXTIME(date)) AS day, COUNT(date) AS num_blocked FROM '.$db->prefix.'test_registrations WHERE spam = \'1\' AND date > '.(time()-14*24*60*60).' GROUP BY DATE(FROM_UNIXTIME(date))') or error('Unable to fetch honeypot 14 day log', __FILE__, __LINE__, $db->error());
 	while ($cur_date = $db->fetch_assoc($result))
 		$stats['last_14days_honeypot'][$cur_date['day']] = $cur_date['num_blocked'];
 	
-	$result = $db->query('SELECT DATE(FROM_UNIXTIME(date)) AS day, COUNT(date) AS num_blocked FROM '.$db->prefix.'test_registrations WHERE spam = 2 AND date > '.(time()-14*24*60*60).' GROUP BY DATE(FROM_UNIXTIME(date))') or error('Unable to fetch sfs 14 day log', __FILE__, __LINE__, $db->error());
+	$result = $db->query('SELECT DATE(FROM_UNIXTIME(date)) AS day, COUNT(date) AS num_blocked FROM '.$db->prefix.'test_registrations WHERE spam = \'2\' AND date > '.(time()-14*24*60*60).' GROUP BY DATE(FROM_UNIXTIME(date))') or error('Unable to fetch sfs 14 day log', __FILE__, __LINE__, $db->error());
 	while ($cur_date = $db->fetch_assoc($result))
 		$stats['last_14days_sfs'][$cur_date['day']] = $cur_date['num_blocked'];
 	
-	$result = $db->query('SELECT DATE(FROM_UNIXTIME(date)) AS day, COUNT(date) AS num_blocked FROM '.$db->prefix.'test_registrations WHERE spam = 3 AND date > '.(time()-14*24*60*60).' GROUP BY DATE(FROM_UNIXTIME(date))') or error('Unable to fetch dnsbl 14 day log', __FILE__, __LINE__, $db->error());
+	$result = $db->query('SELECT DATE(FROM_UNIXTIME(date)) AS day, COUNT(date) AS num_blocked FROM '.$db->prefix.'test_registrations WHERE spam = \'3\' AND date > '.(time()-14*24*60*60).' GROUP BY DATE(FROM_UNIXTIME(date))') or error('Unable to fetch dnsbl 14 day log', __FILE__, __LINE__, $db->error());
 	while ($cur_date = $db->fetch_assoc($result))
 		$stats['last_14days_dnsbl'][$cur_date['day']] = $cur_date['num_blocked'];
 
@@ -320,7 +319,7 @@
                     <dt><?php echo $lang_ap_spambarrier['Block_14d'] ?></dt>
 					<dd>
 <?php
-$result = $db->query('SELECT DATE(FROM_UNIXTIME(date)) AS day, COUNT(date) AS num_blocked FROM '.$db->prefix.'test_registrations WHERE spam > 0 AND date > '.(time()-14*24*60*60).' GROUP BY DATE(FROM_UNIXTIME(date))
+$result = $db->query('SELECT DATE(FROM_UNIXTIME(date)) AS day, COUNT(date) AS num_blocked FROM '.$db->prefix.'test_registrations WHERE spam > \'0\' AND date > '.(time()-14*24*60*60).' GROUP BY DATE(FROM_UNIXTIME(date))
 ') or error($lang_ap_spambarrier['Unable_14d'], __FILE__, __LINE__, $db->error());
 
 // If there are topics in this forum.

Offline

#16 2012-12-05 17:55:13

nferrari
New member
Registered: 2012-12-05
Posts: 3

Re: SPAM blocking : SpamBarrier mod

Forgot to say I also created a PSQL function to make from_unixtime work:

CREATE OR REPLACE FUNCTION from_unixtime(bigint)
RETURNS timestamp without time zone AS $$
  SELECT pg_catalog.to_timestamp($1)::timestamp without time zone
$$ IMMUTABLE STRICT LANGUAGE SQL;

Offline

#17 2012-12-21 08:25:41

Burnouts
Member
Registered: 2009-04-02
Posts: 25

Re: SPAM blocking : SpamBarrier mod

When will this plugin be working for 1.5.1? Getting hit very badly at the moment and 99.999% of the bots are registered as bots in the stopforumspam website.

Offline

#18 2012-12-21 19:05:35

sklerder
Member
From: Brittany
Registered: 2012-11-06
Posts: 117
Website

Re: SPAM blocking : SpamBarrier mod

sklerder wrote:

Hello !

I released a new version (1.0.4), compatible with 1.5.1 and 1.5.0.

No other modification(s).

Hello !

It works with 1.5.1 since "2012-11-26 23:12:38" (version 1.0.4) wink

Offline

#19 2012-12-26 07:25:53

Burnouts
Member
Registered: 2009-04-02
Posts: 25

Re: SPAM blocking : SpamBarrier mod

I have "installed" 1.0.4 but nothing shows in my FluxBB install? I'm using 1.5.1

Offline

#20 2012-12-26 19:26:09

sklerder
Member
From: Brittany
Registered: 2012-11-06
Posts: 117
Website

Re: SPAM blocking : SpamBarrier mod

Hello !

How did you install it ?
Are you sure you didn't omit one step ?
Can you be more precise when you write "nothing shows in my FluxBB install" ?
Do you  find the SpamBarrier control panel in admin panel ?

Offline

#21 2012-12-29 11:15:36

Burnouts
Member
Registered: 2009-04-02
Posts: 25

Re: SPAM blocking : SpamBarrier mod

Hi,

I upgraded the forum from 1.4.8 to 1.5.1, then copied the new spambarrier into the directory then followed the readme. It installed fine but just doesn't show.

I'll try it again with a clean install and report back.

Thanks

Offline

#22 2013-01-14 17:40:04

sklerder
Member
From: Brittany
Registered: 2012-11-06
Posts: 117
Website

Re: SPAM blocking : SpamBarrier mod

Hello !

I submitted a new version of SpamBarrier (1.0.6).
No modification except the version number, to take into account FluxBB 1.5.2.

Good spam fighting wink

Offline

#23 2013-01-15 02:59:30

Burnouts
Member
Registered: 2009-04-02
Posts: 25

Re: SPAM blocking : SpamBarrier mod

If I click Search users "Go!"

Users


Fatal error: Call to undefined function parse_signature() in /home/user/public_html/forum/plugins/AP_SpamBarrier.php on line 103
Username	E-mail	Posts	Website	Signature	Registered

I have some 7000 bots active on the forum and I need to get rid of them, is there any way to use that Search Users script to delete accounts from the users table including threads/posts?

Last edited by Burnouts (2013-01-15 03:00:02)

Offline

#24 2013-01-15 07:32:05

sklerder
Member
From: Brittany
Registered: 2012-11-06
Posts: 117
Website

Re: SPAM blocking : SpamBarrier mod

Hi !

I suppose these 7000 bots have registered before SpamBarrier installation ...
This request can help you to find them, but if their signature is empty, it won't find them.

SpamBarrier may have to be reworked to find bots registrations with different criterias hmm

IMHO, you should have tried to remove these users very sooner, as soon as they were registered.

Offline

#25 2013-01-15 09:35:47

Franz
Lead developer
From: Germany
Registered: 2008-05-13
Posts: 6,472
Website

Re: SPAM blocking : SpamBarrier mod

You can delete multiple users at once on the admin users page.


fluxbb.de | develoPHP

"As code is more often read than written it's really important to write clean code."

Offline

Board footer

Powered by FluxBB