Version Description
-
English
- Consideration of the comment time (Spam if a comment was written in less than 5 seconds)
- Release time investment (Development & QA): 6,25 h
-
Deutsch
- Bercksichtigung der Kommentarzeit (Spam, wenn ein Kommentar in unter 5 Sekunden verfasst)
- Mehr Informationen auf Google+
- Release-Zeitaufwand (Development & QA): 6,25 Stunden
Download this release
Release Info
Developer | sergej.mueller |
Plugin | Antispam Bee |
Version | 2.6.4 |
Comparing to | |
See all releases |
Code changes from version 2.6.3 to 2.6.4
- antispam_bee.php +60 -12
- inc/gui.class.php +10 -1
- lang/antispam_bee-de_DE.mo +0 -0
- lang/antispam_bee-de_DE.po +9 -0
- readme.txt +12 -0
antispam_bee.php
CHANGED
@@ -8,7 +8,7 @@ Author: Sergej Müller
|
|
8 |
Author URI: http://wpcoder.de
|
9 |
Plugin URI: http://antispambee.com
|
10 |
License: GPLv2 or later
|
11 |
-
Version: 2.6.
|
12 |
*/
|
13 |
|
14 |
/*
|
@@ -338,7 +338,7 @@ class Antispam_Bee {
|
|
338 |
* Initialisierung der internen Variablen
|
339 |
*
|
340 |
* @since 2.4
|
341 |
-
* @change 2.6.
|
342 |
*/
|
343 |
|
344 |
private static function _init_internal_vars()
|
@@ -353,6 +353,7 @@ class Antispam_Bee {
|
|
353 |
'regexp_check' => 1,
|
354 |
'spam_ip' => 1,
|
355 |
'already_commented' => 1,
|
|
|
356 |
'ignore_pings' => 0,
|
357 |
'always_allowed' => 0,
|
358 |
|
@@ -385,6 +386,7 @@ class Antispam_Bee {
|
|
385 |
),
|
386 |
'reasons' => array(
|
387 |
'css' => 'CSS Hack',
|
|
|
388 |
'empty' => 'Empty Data',
|
389 |
'server' => 'Fake IP',
|
390 |
'localdb' => 'Local DB Spam',
|
@@ -1110,12 +1112,12 @@ class Antispam_Bee {
|
|
1110 |
$hidden_field = self::get_key($_POST, 'comment');
|
1111 |
$plugin_field = self::get_key($_POST, self::$_secret);
|
1112 |
|
1113 |
-
/*
|
1114 |
-
if ( empty($hidden_field) && !empty($plugin_field) ) {
|
1115 |
$_POST['comment'] = $plugin_field;
|
1116 |
-
unset($_POST[self::$_secret]);
|
1117 |
} else {
|
1118 |
-
$_POST['
|
1119 |
}
|
1120 |
}
|
1121 |
|
@@ -1227,7 +1229,7 @@ class Antispam_Bee {
|
|
1227 |
* ersetzt das Kommentarfeld
|
1228 |
*
|
1229 |
* @since 2.4
|
1230 |
-
* @change 2.4
|
1231 |
*
|
1232 |
* @param string $data HTML-Code der Webseite
|
1233 |
* @return string Behandelter HTML-Code
|
@@ -1245,11 +1247,25 @@ class Antispam_Bee {
|
|
1245 |
return $data;
|
1246 |
}
|
1247 |
|
1248 |
-
/*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1249 |
return preg_replace(
|
1250 |
'#<textarea(.+?)name=["\']comment["\'](.+?)</textarea>#s',
|
1251 |
-
|
1252 |
-
|
|
|
|
|
|
|
|
|
1253 |
1
|
1254 |
);
|
1255 |
}
|
@@ -1330,7 +1346,7 @@ class Antispam_Bee {
|
|
1330 |
* Prüfung den Kommentar
|
1331 |
*
|
1332 |
* @since 2.4
|
1333 |
-
* @change 2.6.
|
1334 |
*
|
1335 |
* @param array $comment Daten des Kommentars
|
1336 |
* @return array Array mit dem Verdachtsgrund [optional]
|
@@ -1375,12 +1391,19 @@ class Antispam_Bee {
|
|
1375 |
}
|
1376 |
|
1377 |
/* Bot erkannt */
|
1378 |
-
if ( ! empty($_POST['
|
1379 |
return array(
|
1380 |
'reason' => 'css'
|
1381 |
);
|
1382 |
}
|
1383 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1384 |
/* BBCode Spam */
|
1385 |
if ( $options['bbcode_check'] && self::_is_bbcode_spam($body) ) {
|
1386 |
return array(
|
@@ -1440,6 +1463,31 @@ class Antispam_Bee {
|
|
1440 |
}
|
1441 |
|
1442 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1443 |
/**
|
1444 |
* Anwendung von Regexp, auch benutzerdefiniert
|
1445 |
*
|
8 |
Author URI: http://wpcoder.de
|
9 |
Plugin URI: http://antispambee.com
|
10 |
License: GPLv2 or later
|
11 |
+
Version: 2.6.4
|
12 |
*/
|
13 |
|
14 |
/*
|
338 |
* Initialisierung der internen Variablen
|
339 |
*
|
340 |
* @since 2.4
|
341 |
+
* @change 2.6.4
|
342 |
*/
|
343 |
|
344 |
private static function _init_internal_vars()
|
353 |
'regexp_check' => 1,
|
354 |
'spam_ip' => 1,
|
355 |
'already_commented' => 1,
|
356 |
+
'time_check' => 0,
|
357 |
'ignore_pings' => 0,
|
358 |
'always_allowed' => 0,
|
359 |
|
386 |
),
|
387 |
'reasons' => array(
|
388 |
'css' => 'CSS Hack',
|
389 |
+
'time' => 'Comment time',
|
390 |
'empty' => 'Empty Data',
|
391 |
'server' => 'Fake IP',
|
392 |
'localdb' => 'Local DB Spam',
|
1112 |
$hidden_field = self::get_key($_POST, 'comment');
|
1113 |
$plugin_field = self::get_key($_POST, self::$_secret);
|
1114 |
|
1115 |
+
/* Hidden field check */
|
1116 |
+
if ( empty($hidden_field) && ! empty($plugin_field) ) {
|
1117 |
$_POST['comment'] = $plugin_field;
|
1118 |
+
unset( $_POST[self::$_secret] );
|
1119 |
} else {
|
1120 |
+
$_POST['ab_spam__hidden_field'] = 1;
|
1121 |
}
|
1122 |
}
|
1123 |
|
1229 |
* ersetzt das Kommentarfeld
|
1230 |
*
|
1231 |
* @since 2.4
|
1232 |
+
* @change 2.6.4
|
1233 |
*
|
1234 |
* @param string $data HTML-Code der Webseite
|
1235 |
* @return string Behandelter HTML-Code
|
1247 |
return $data;
|
1248 |
}
|
1249 |
|
1250 |
+
/* Build init time field */
|
1251 |
+
if ( self::get_option('time_check') ) {
|
1252 |
+
$init_time_field = sprintf(
|
1253 |
+
'<input type="hidden" name="ab_init_time" value="%d" />',
|
1254 |
+
time()
|
1255 |
+
);
|
1256 |
+
} else {
|
1257 |
+
$init_time_field = '';
|
1258 |
+
}
|
1259 |
+
|
1260 |
+
/* Inject HTML */
|
1261 |
return preg_replace(
|
1262 |
'#<textarea(.+?)name=["\']comment["\'](.+?)</textarea>#s',
|
1263 |
+
sprintf(
|
1264 |
+
'<textarea$1name="%s"$2</textarea><textarea name="comment" style="display:none" rows="1" cols="1"></textarea>%s',
|
1265 |
+
self::$_secret,
|
1266 |
+
$init_time_field
|
1267 |
+
),
|
1268 |
+
$data,
|
1269 |
1
|
1270 |
);
|
1271 |
}
|
1346 |
* Prüfung den Kommentar
|
1347 |
*
|
1348 |
* @since 2.4
|
1349 |
+
* @change 2.6.4
|
1350 |
*
|
1351 |
* @param array $comment Daten des Kommentars
|
1352 |
* @return array Array mit dem Verdachtsgrund [optional]
|
1391 |
}
|
1392 |
|
1393 |
/* Bot erkannt */
|
1394 |
+
if ( ! empty($_POST['ab_spam__hidden_field']) ) {
|
1395 |
return array(
|
1396 |
'reason' => 'css'
|
1397 |
);
|
1398 |
}
|
1399 |
|
1400 |
+
/* Action time */
|
1401 |
+
if ( $options['time_check'] && self::_is_shortest_time() ) {
|
1402 |
+
return array(
|
1403 |
+
'reason' => 'time'
|
1404 |
+
);
|
1405 |
+
}
|
1406 |
+
|
1407 |
/* BBCode Spam */
|
1408 |
if ( $options['bbcode_check'] && self::_is_bbcode_spam($body) ) {
|
1409 |
return array(
|
1463 |
}
|
1464 |
|
1465 |
|
1466 |
+
/**
|
1467 |
+
* Check for comment action time
|
1468 |
+
*
|
1469 |
+
* @since 2.6.4
|
1470 |
+
* @change 2.6.4
|
1471 |
+
*
|
1472 |
+
* @return boolean TRUE if the action time is less than 5 seconds
|
1473 |
+
*/
|
1474 |
+
|
1475 |
+
private static function _is_shortest_time()
|
1476 |
+
{
|
1477 |
+
/* Comment init time */
|
1478 |
+
if ( ! $init_time = (int)self::get_key($_POST, 'ab_init_time') ) {
|
1479 |
+
return false;
|
1480 |
+
}
|
1481 |
+
|
1482 |
+
/* Compare time values */
|
1483 |
+
if ( time() - $init_time < apply_filters('ab_action_time_limit', 5) ) {
|
1484 |
+
return true;
|
1485 |
+
}
|
1486 |
+
|
1487 |
+
return false;
|
1488 |
+
}
|
1489 |
+
|
1490 |
+
|
1491 |
/**
|
1492 |
* Anwendung von Regexp, auch benutzerdefiniert
|
1493 |
*
|
inc/gui.class.php
CHANGED
@@ -53,6 +53,7 @@ class Antispam_Bee_GUI extends Antispam_Bee {
|
|
53 |
'regexp_check' => (int)(!empty($_POST['ab_regexp_check'])),
|
54 |
'spam_ip' => (int)(!empty($_POST['ab_spam_ip'])),
|
55 |
'already_commented' => (int)(!empty($_POST['ab_already_commented'])),
|
|
|
56 |
'always_allowed' => (int)(!empty($_POST['ab_always_allowed'])),
|
57 |
|
58 |
'ignore_pings' => (int)(!empty($_POST['ab_ignore_pings'])),
|
@@ -175,7 +176,7 @@ class Antispam_Bee_GUI extends Antispam_Bee {
|
|
175 |
* Anzeige der GUI
|
176 |
*
|
177 |
* @since 0.1
|
178 |
-
* @change 2.6.
|
179 |
*/
|
180 |
|
181 |
public static function options_page() { ?>
|
@@ -215,6 +216,14 @@ class Antispam_Bee_GUI extends Antispam_Bee {
|
|
215 |
</label>
|
216 |
</li>
|
217 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
218 |
<li>
|
219 |
<input type="checkbox" name="ab_bbcode_check" id="ab_bbcode_check" value="1" <?php checked($options['bbcode_check'], 1) ?> />
|
220 |
<label for="ab_bbcode_check">
|
53 |
'regexp_check' => (int)(!empty($_POST['ab_regexp_check'])),
|
54 |
'spam_ip' => (int)(!empty($_POST['ab_spam_ip'])),
|
55 |
'already_commented' => (int)(!empty($_POST['ab_already_commented'])),
|
56 |
+
'time_check' => (int)(!empty($_POST['ab_time_check'])),
|
57 |
'always_allowed' => (int)(!empty($_POST['ab_always_allowed'])),
|
58 |
|
59 |
'ignore_pings' => (int)(!empty($_POST['ab_ignore_pings'])),
|
176 |
* Anzeige der GUI
|
177 |
*
|
178 |
* @since 0.1
|
179 |
+
* @change 2.6.4
|
180 |
*/
|
181 |
|
182 |
public static function options_page() { ?>
|
216 |
</label>
|
217 |
</li>
|
218 |
|
219 |
+
<li>
|
220 |
+
<input type="checkbox" name="ab_time_check" id="ab_time_check" value="1" <?php checked($options['time_check'], 1) ?> />
|
221 |
+
<label for="ab_time_check">
|
222 |
+
<?php esc_html_e('Consider the comment time', 'antispam_bee') ?>
|
223 |
+
<span><?php esc_html_e('Not recommended when using page caching', 'antispam_bee') ?></span>
|
224 |
+
</label>
|
225 |
+
</li>
|
226 |
+
|
227 |
<li>
|
228 |
<input type="checkbox" name="ab_bbcode_check" id="ab_bbcode_check" value="1" <?php checked($options['bbcode_check'], 1) ?> />
|
229 |
<label for="ab_bbcode_check">
|
lang/antispam_bee-de_DE.mo
CHANGED
Binary file
|
lang/antispam_bee-de_DE.po
CHANGED
@@ -36,6 +36,9 @@ msgstr "Leere Daten"
|
|
36 |
msgid "CSS Hack"
|
37 |
msgstr "CSS Hack"
|
38 |
|
|
|
|
|
|
|
39 |
msgid "Fake IP"
|
40 |
msgstr "Gefälschte IP"
|
41 |
|
@@ -125,6 +128,12 @@ msgstr "Genehmigten Kommentatoren vertrauen"
|
|
125 |
msgid "No check for already commenting users"
|
126 |
msgstr "Keine Prüfung bereits kommentierender Nutzer"
|
127 |
|
|
|
|
|
|
|
|
|
|
|
|
|
128 |
msgid "BBCode is spam"
|
129 |
msgstr "BBCode als Spam einstufen"
|
130 |
|
36 |
msgid "CSS Hack"
|
37 |
msgstr "CSS Hack"
|
38 |
|
39 |
+
msgid "Comment time"
|
40 |
+
msgstr "Kommentarzeit"
|
41 |
+
|
42 |
msgid "Fake IP"
|
43 |
msgstr "Gefälschte IP"
|
44 |
|
128 |
msgid "No check for already commenting users"
|
129 |
msgstr "Keine Prüfung bereits kommentierender Nutzer"
|
130 |
|
131 |
+
msgid "Consider the comment time"
|
132 |
+
msgstr "Kommentarzeit berücksichtigen"
|
133 |
+
|
134 |
+
msgid "Not recommended when using page caching"
|
135 |
+
msgstr "Nicht empfohlen beim Caching von Blogseiten"
|
136 |
+
|
137 |
msgid "BBCode is spam"
|
138 |
msgstr "BBCode als Spam einstufen"
|
139 |
|
readme.txt
CHANGED
@@ -104,6 +104,18 @@ Fragen rund ums Plugin werden gern per E-Mail beantwortet. Beachtet auch die [Gu
|
|
104 |
|
105 |
== Changelog ==
|
106 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
= 2.6.3 =
|
108 |
|
109 |
* **English**
|
104 |
|
105 |
== Changelog ==
|
106 |
|
107 |
+
= 2.6.4 =
|
108 |
+
|
109 |
+
* **English**
|
110 |
+
* Consideration of the comment time (Spam if a comment was written in less than 5 seconds)
|
111 |
+
* *Release time investment (Development & QA): 6,25 h*
|
112 |
+
|
113 |
+
* **Deutsch**
|
114 |
+
* Berücksichtigung der Kommentarzeit (Spam, wenn ein Kommentar in unter 5 Sekunden verfasst)
|
115 |
+
* [Mehr Informationen auf Google+](https://plus.google.com/+SergejMüller/posts/73EbP6F1BgC)
|
116 |
+
* *Release-Zeitaufwand (Development & QA): 6,25 Stunden*
|
117 |
+
|
118 |
+
|
119 |
= 2.6.3 =
|
120 |
|
121 |
* **English**
|