From: garvinhicking Date: Wed, 1 Feb 2006 13:14:11 +0000 (+0000) Subject: A plan for the future, and stronger captchas might be required. X-Git-Tag: 1.0~124 X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=7c0de2da3266ec088b19e6d2e3c8f5f218e899cf;p=s9y.git A plan for the future, and stronger captchas might be required. --- diff --git a/plugins/serendipity_event_spamblock/UTF-8/lang_de.inc.php b/plugins/serendipity_event_spamblock/UTF-8/lang_de.inc.php index e1a6f2f..d4444aa 100644 --- a/plugins/serendipity_event_spamblock/UTF-8/lang_de.inc.php +++ b/plugins/serendipity_event_spamblock/UTF-8/lang_de.inc.php @@ -81,3 +81,5 @@ @define('PLUGIN_EVENT_SPAMBLOCK_BLOGG_SPAMLIST', 'URL-Filterung anhand der blogg.de Blacklist aktivieren'); @define('PLUGIN_EVENT_SPAMBLOCK_REASON_TITLE', 'Artikeltitel ist derselbe wie Kommentar'); @define('PLUGIN_EVENT_SPAMBLOCK_FILTER_TITLE', 'Kommentare abweisen, die als Text nur den Artikeltitel enthalten'); + +@define('PLUGIN_EVENT_SPAMBLOCK_CAPTCHAS_SCRAMBLE', 'Stärkere Captchas'); diff --git a/plugins/serendipity_event_spamblock/lang_de.inc.php b/plugins/serendipity_event_spamblock/lang_de.inc.php index ed9f52f..1d96dce 100644 --- a/plugins/serendipity_event_spamblock/lang_de.inc.php +++ b/plugins/serendipity_event_spamblock/lang_de.inc.php @@ -81,3 +81,5 @@ @define('PLUGIN_EVENT_SPAMBLOCK_BLOGG_SPAMLIST', 'URL-Filterung anhand der blogg.de Blacklist aktivieren'); @define('PLUGIN_EVENT_SPAMBLOCK_REASON_TITLE', 'Artikeltitel ist derselbe wie Kommentar'); @define('PLUGIN_EVENT_SPAMBLOCK_FILTER_TITLE', 'Kommentare abweisen, die als Text nur den Artikeltitel enthalten'); + +@define('PLUGIN_EVENT_SPAMBLOCK_CAPTCHAS_SCRAMBLE', 'Stärkere Captchas'); diff --git a/plugins/serendipity_event_spamblock/lang_en.inc.php b/plugins/serendipity_event_spamblock/lang_en.inc.php index aea6dc2..ba5d0f1 100644 --- a/plugins/serendipity_event_spamblock/lang_en.inc.php +++ b/plugins/serendipity_event_spamblock/lang_en.inc.php @@ -96,4 +96,5 @@ @define('PLUGIN_EVENT_SPAMBLOCK_TRACKBACKURL_DESC', 'Only allow trackbacks, when its URL contains a link to your blog'); @define('PLUGIN_EVENT_SPAMBLOCK_REASON_TRACKBACKURL', 'Trackback URL invalid.'); -?> +@define('PLUGIN_EVENT_SPAMBLOCK_CAPTCHAS_SCRAMBLE', 'Scrambled Captchas'); + diff --git a/plugins/serendipity_event_spamblock/serendipity_event_spamblock.php b/plugins/serendipity_event_spamblock/serendipity_event_spamblock.php index 06f9676..2a14839 100644 --- a/plugins/serendipity_event_spamblock/serendipity_event_spamblock.php +++ b/plugins/serendipity_event_spamblock/serendipity_event_spamblock.php @@ -34,7 +34,7 @@ var $filter_defaults; 'smarty' => '2.6.7', 'php' => '4.1.0' )); - $propbag->add('version', '1.31'); + $propbag->add('version', '1.32'); $propbag->add('event_hooks', array( 'frontend_saveComment' => true, 'external_plugin' => true, @@ -114,10 +114,14 @@ var $filter_defaults; break; case 'captchas': - $propbag->add('type', 'boolean'); + $propbag->add('type', 'radio'); $propbag->add('name', PLUGIN_EVENT_SPAMBLOCK_CAPTCHAS); $propbag->add('description', PLUGIN_EVENT_SPAMBLOCK_CAPTCHAS_DESC); - $propbag->add('default', true); + $propbag->add('default', 'yes'); + $propbag->add('radio', array( + 'value' => array(true, 'no', 'scramble'), + 'desc' => array(YES, NO, PLUGIN_EVENT_SPAMBLOCK_CAPTCHAS_SCRAMBLE) + )); break; case 'killswitch': @@ -329,7 +333,9 @@ var $filter_defaults; if (isset($hooks[$event])) { $captchas_ttl = $this->get_config('captchas_ttl', 7); - $captchas = (serendipity_db_bool($this->get_config('captchas', true)) ? true : false); + $_captchas = $this->get_config('captchas', 'yes'); + $captchas = ($_captchas !== 'no' && ($_captchas === 'yes' || $_captchas === 'scramble' || serendipity_db_bool($_captchas))); + // Check if the entry is older than the allowed amount of time. Enforce kaptchas if that is true // of if kaptchas are activated for every entry $show_captcha = ($captchas && isset($eventData['timestamp']) && ($captchas_ttl < 1 || ($eventData['timestamp'] < (time() - ($captchas_ttl*60*60*24)))) ? true : false); @@ -705,7 +711,7 @@ var $filter_defaults; header('Content-Type: image/jpeg'); $image = imagecreate($width, $height); - imagecolorallocate($image, trim($bgcolors[0]), trim($bgcolors[1]), trim($bgcolors[2])); + $bgcol = imagecolorallocate($image, trim($bgcolors[0]), trim($bgcolors[1]), trim($bgcolors[2])); // imagettftext($image, 10, 1, 1, 15, imagecolorallocate($image, 255, 255, 255), $font, 'String: ' . $string); $pos_x = 5; @@ -729,6 +735,17 @@ var $filter_defaults; $pos_x = $pos_x + $size + 2; } + + if ($_captchas === 'scramble') { + $line_diff = mt_rand(5, 15); + $pixel_col = imagecolorallocate($image, trim($bgcolors[0])-mt_rand(10,50), trim($bgcolors[1])-mt_rand(10,50), trim($bgcolors[2])-mt_rand(10,50)); + for ($y = $line_diff; $y < $height; $y += $line_diff) { + $row_diff = mt_rand(5, 15); + for ($x = $row_diff; $x < $width; $x+= $row_diff) { + imagerectangle($image, $x, $y, $x+1, $y+1, $pixel_col); + } + } + } imagejpeg($image, '', 90); imagedestroy($image); } else {