Fixed a small bug on the flood filter

This commit is contained in:
Savetheinternet 2011-03-27 20:38:11 +11:00
parent b08751f562
commit 7c2938b542
2 changed files with 29 additions and 28 deletions

View File

@ -19,7 +19,8 @@
'error' => Array(), 'error' => Array(),
'dir' => Array(), 'dir' => Array(),
'mod' => Array(), 'mod' => Array(),
'spam' => Array() 'spam' => Array(),
'flood_filters' => Array()
); );
// Database stuff // Database stuff
@ -378,28 +379,27 @@
); );
// Custom flood filters. Detect flood attacks and reject new posts if there's a positive match. // Custom flood filters. Detect flood attacks and reject new posts if there's a positive match.
//$config['flood_filters'] = Array( //$config['flood_filters'][] = Array(
// Array( // 'condition' => Array(
// 'condition' => Array( // // 100 posts in the past 5 minutes (~20 p/m)
// // 100 posts in the past 5 minutes (~20 p/m) // 'posts_in_past_x_minutes' => Array(100, 5)
// 'posts_in_past_x_minutes' => Array(100, 5)
// ),
// // Don't allow the user to post
// 'action' => 'reject',
// // Display this message
// 'message' => 'Your post has been rejected on the suspicion of a flood attack on this board.'
// ), // ),
// // Another filter // // Don't allow the user to post
// Array( // 'action' => 'reject',
// 'condition' => Array( // // Display this message
// // 10 new empty threads in the past 2 minutes // 'message' => 'Your post has been rejected on the suspicion of a flood attack on this board.'
// 'threads_with_no_replies_in_past_x_minutes' => Array(10, 2), //);
// // Allow replies, but not new threads (ie. reject topics only).
// 'OP' => true // Another filter
// ), //$config['flood_filters'][] = Array(
// 'action' => 'reject', // 'condition' => Array(
// 'message' => 'Your post has been rejected on the suspicion of a flood attack on this board (too many new threads); post a reply instead.' // // 10 new empty threads in the past 2 minutes
// ) // 'threads_with_no_replies_in_past_x_minutes' => Array(10, 2),
// // Allow replies, but not new threads (ie. reject topics only).
// 'OP' => true
// ),
// 'action' => 'reject',
// 'message' => 'Your post has been rejected on the suspicion of a flood attack on this board (too many new threads); post a reply instead.'
//); //);
// A small file in the main directory indicating that the script has been ran and the board(s) have been generated. // A small file in the main directory indicating that the script has been ran and the board(s) have been generated.

View File

@ -303,6 +303,7 @@
// Custom anti-spam filters // Custom anti-spam filters
if(isset($config['flood_filters'])) { if(isset($config['flood_filters'])) {
foreach($config['flood_filters'] as &$filter) { foreach($config['flood_filters'] as &$filter) {
unset($did_not_match);
// Set up default stuff // Set up default stuff
if(!isset($filter['action'])) if(!isset($filter['action']))
$filter['action'] = 'reject'; $filter['action'] = 'reject';
@ -333,7 +334,7 @@
} }
} elseif($condition == 'OP') { } elseif($condition == 'OP') {
// Am I OP? // Am I OP?
if($OP) if($value == $OP)
continue; continue;
} else { } else {
// Unknown block // Unknown block
@ -343,11 +344,11 @@
$did_not_match = true; $did_not_match = true;
break; break;
} }
if(!isset($did_not_match)) { }
// Matched filter! if(!isset($did_not_match)) {
if($filter['action'] == 'reject') { // Matched filter!
error($filter['message']); if($filter['action'] == 'reject') {
} error($filter['message']);
} }
} }
} }