]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Log failed captcha entries
authorMikael Nordfeldth <mmn@hethane.se>
Mon, 8 Feb 2016 16:51:21 +0000 (17:51 +0100)
committerMikael Nordfeldth <mmn@hethane.se>
Mon, 8 Feb 2016 16:51:21 +0000 (17:51 +0100)
plugins/SimpleCaptcha/SimpleCaptchaPlugin.php

index 9a3f5c7489e5b329d0e26cf6d7c2e6c843f46e75..5f5cd204f2986a130aaff177568f379d76f97925 100644 (file)
@@ -25,6 +25,13 @@ if (!defined('GNUSOCIAL')) { exit(1); }
  */
 class SimpleCaptchaPlugin extends Plugin
 {
+    public function initialize()
+    {
+        // This probably needs some work. For example with IPv6 you can easily generate new IPs...
+        $client_ip = common_client_ip();
+        $this->client_ip = $client_ip[0] ?: $client_ip[1];   // [0] is proxy, [1] should be the real IP
+    }
+
     public function onEndRegistrationFormData(Action $action)
     {
         $action->elementStart('li');
@@ -46,6 +53,7 @@ class SimpleCaptchaPlugin extends Plugin
     public function onStartRegistrationTry(Action $action)
     {
         if ($action->arg('simplecaptcha') !== $this->getCaptchaText()) {
+            common_log(LOG_INFO, 'Stopped non-sentient registration of nickname '._ve($action->trimmed('nickname')).' from IP: '._ve($this->client_ip));
             throw new ClientException(_m('Captcha does not match!'));
         }
         return true;