Add ! syntax (NOT) to filters. Don't throttle duplicate post bodies when they are empty
This commit is contained in:
parent
55dc5cedc3
commit
b7f16dee0f
@ -305,7 +305,7 @@
|
||||
$config['filters'][] = array(
|
||||
'condition' => array(
|
||||
'flood-match' => array('ip'), // Only match IP address
|
||||
'flood-time' => &$config['flood_time'] // 10 seconds minimum
|
||||
'flood-time' => &$config['flood_time']
|
||||
),
|
||||
'action' => 'reject',
|
||||
'message' => &$config['error']['flood']
|
||||
@ -315,7 +315,8 @@
|
||||
$config['filters'][] = array(
|
||||
'condition' => array(
|
||||
'flood-match' => array('ip', 'body'), // Match IP address and post body
|
||||
'flood-time' => &$config['flood_time_ip'] // 2 minutes minimum
|
||||
'flood-time' => &$config['flood_time_ip'],
|
||||
'!body' => '/^$/', // Post body is NOT empty
|
||||
),
|
||||
'action' => 'reject',
|
||||
'message' => &$config['error']['flood']
|
||||
@ -325,7 +326,7 @@
|
||||
$config['filters'][] = array(
|
||||
'condition' => array(
|
||||
'flood-match' => array('body'), // Match IP address and post body
|
||||
'flood-time' => &$config['flood_time_same'] // 30 seconds minimum
|
||||
'flood-time' => &$config['flood_time_same']
|
||||
),
|
||||
'action' => 'reject',
|
||||
'message' => &$config['error']['flood']
|
||||
|
@ -168,11 +168,14 @@ class Filter {
|
||||
|
||||
public function check(array $post) {
|
||||
foreach ($this->condition as $condition => $value) {
|
||||
if (!$this->match($post, $condition, $value))
|
||||
if ($condition[0] == '!') {
|
||||
$NOT = true;
|
||||
$condition = substr($condition, 1);
|
||||
} else $NOT = false;
|
||||
|
||||
if ($this->match($post, $condition, $value) == $NOT)
|
||||
return false;
|
||||
}
|
||||
|
||||
/* match */
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user