فهرست منبع

Fixed captcha verification

Sergei Solovev 1 سال پیش
والد
کامیت
498015fbfa
1فایلهای تغییر یافته به همراه7 افزوده شده و 6 حذف شده
  1. 7 6
      system/library/system.php

+ 7 - 6
system/library/system.php

@@ -732,15 +732,16 @@ class sys
         global $cfg, $mcache;
 
         // Если повтор ввода капчи выключен и в кеше есть подтвержденный сеанс
-        if (!$cfg['recaptcha'] and $mcache->get($type . '_captcha_valid_' . $ip))
-            return false;
-
-        if ($mcache->get($type . '_captcha_' . $ip) != strtolower($cod)) {
-            $mcache->set($type . '_captcha_valid_' . $ip, true, false, 60);
+        if (!$cfg['recaptcha'] && $mcache->get($type . '_captcha_valid_' . $ip))
+            // Сбрасываем подтверждение сеанса в кеше
+            $mcache->delete($type . '_captcha_valid_' . $ip);
 
+        if ($mcache->get($type . '_captcha_' . $ip) != strtolower((string) $cod))
+            // Неверный ввод капчи, возвращаем true и не сохраняем подтверждение сеанса в кеше
             return true;
-        }
 
+        // Верный ввод капчи, возвращаем false и сохраняем подтверждение сеанса в кеше
+        $mcache->set($type . '_captcha_valid_' . $ip, true, false, 60);
         return false;
     }