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(),
'dir' => Array(),
'mod' => Array(),
'spam' => Array()
'spam' => Array(),
'flood_filters' => Array()
);
// Database stuff
@ -378,8 +379,7 @@
);
// Custom flood filters. Detect flood attacks and reject new posts if there's a positive match.
//$config['flood_filters'] = Array(
// Array(
//$config['flood_filters'][] = Array(
// 'condition' => Array(
// // 100 posts in the past 5 minutes (~20 p/m)
// 'posts_in_past_x_minutes' => Array(100, 5)
@ -388,9 +388,10 @@
// 'action' => 'reject',
// // Display this message
// 'message' => 'Your post has been rejected on the suspicion of a flood attack on this board.'
// ),
// // Another filter
// Array(
//);
// Another filter
//$config['flood_filters'][] = Array(
// 'condition' => Array(
// // 10 new empty threads in the past 2 minutes
// 'threads_with_no_replies_in_past_x_minutes' => Array(10, 2),
@ -399,7 +400,6 @@
// ),
// '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.

View File

@ -303,6 +303,7 @@
// Custom anti-spam filters
if(isset($config['flood_filters'])) {
foreach($config['flood_filters'] as &$filter) {
unset($did_not_match);
// Set up default stuff
if(!isset($filter['action']))
$filter['action'] = 'reject';
@ -333,7 +334,7 @@
}
} elseif($condition == 'OP') {
// Am I OP?
if($OP)
if($value == $OP)
continue;
} else {
// Unknown block
@ -343,6 +344,7 @@
$did_not_match = true;
break;
}
}
if(!isset($did_not_match)) {
// Matched filter!
if($filter['action'] == 'reject') {
@ -350,7 +352,6 @@
}
}
}
}
if($post['has_file']) {
// Just trim the filename if it's too long