]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
$this->client_ip was not always set in AntiBrutePlugin onEndCheckPassword
authorMikael Nordfeldth <mmn@hethane.se>
Fri, 5 Jun 2015 13:34:14 +0000 (15:34 +0200)
committerMikael Nordfeldth <mmn@hethane.se>
Fri, 5 Jun 2015 13:34:14 +0000 (15:34 +0200)
plugins/AntiBrute/AntiBrutePlugin.php

index 365937fedf9bf4d1a6c27bbfbce31e8d1d946415..625180d23d7d330ba5f8adfc07179deecc146662 100755 (executable)
@@ -9,6 +9,13 @@ class AntiBrutePlugin extends Plugin {
 
     const FAILED_LOGIN_IP_SECTION = 'failed_login_ip';
 
+    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 onStartCheckPassword($nickname, $password, &$authenticatedUser)
     {
         if (common_is_email($nickname)) {
@@ -22,9 +29,6 @@ class AntiBrutePlugin extends Plugin {
             return true;
         }
 
-        // 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
         $this->failed_attempts = (int)$this->unauthed_user->getPref(self::FAILED_LOGIN_IP_SECTION, $this->client_ip);
         switch (true) {
         case $this->failed_attempts >= 5: