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(
|
$config['filters'][] = array(
|
||||||
'condition' => array(
|
'condition' => array(
|
||||||
'flood-match' => array('ip'), // Only match IP address
|
'flood-match' => array('ip'), // Only match IP address
|
||||||
'flood-time' => &$config['flood_time'] // 10 seconds minimum
|
'flood-time' => &$config['flood_time']
|
||||||
),
|
),
|
||||||
'action' => 'reject',
|
'action' => 'reject',
|
||||||
'message' => &$config['error']['flood']
|
'message' => &$config['error']['flood']
|
||||||
@ -315,7 +315,8 @@
|
|||||||
$config['filters'][] = array(
|
$config['filters'][] = array(
|
||||||
'condition' => array(
|
'condition' => array(
|
||||||
'flood-match' => array('ip', 'body'), // Match IP address and post body
|
'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',
|
'action' => 'reject',
|
||||||
'message' => &$config['error']['flood']
|
'message' => &$config['error']['flood']
|
||||||
@ -325,7 +326,7 @@
|
|||||||
$config['filters'][] = array(
|
$config['filters'][] = array(
|
||||||
'condition' => array(
|
'condition' => array(
|
||||||
'flood-match' => array('body'), // Match IP address and post body
|
'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',
|
'action' => 'reject',
|
||||||
'message' => &$config['error']['flood']
|
'message' => &$config['error']['flood']
|
||||||
|
@ -168,11 +168,14 @@ class Filter {
|
|||||||
|
|
||||||
public function check(array $post) {
|
public function check(array $post) {
|
||||||
foreach ($this->condition as $condition => $value) {
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* match */
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user