public function isCaptchaNeeded($isHaveFailedLogin) { if ($isHaveFailedLogin) { if ($this->userData->getIpCountry() !== $this->loginData->getIpCountry()) { $this->logger->logAttempt($this->loginData->getLoginIp(), self::FAILED_IP_LIMIT); return true; } $loggerData = $this->logger->getAttempts(); $regexp = '/\\.([0-9]{1,3}$)/'; $ipRange = preg_replace($regexp, 'X', $this->loginData->getLoginIp()); if (@$loggerData[$this->loginData->getLoginIp()] >= self::FAILED_IP_LIMIT) { $this->logger->logAttempt($this->loginData->getLoginIp()); } else { $this->logger->logAttempt($this->loginData->getLoginIp()); $this->logger->logAttempt($this->loginData->getIpCountry()); $this->logger->logAttempt($this->loginData->getLoginName()); $this->logger->logAttempt($ipRange); } $loggerData = $this->logger->getAttempts(); $a = @$loggerData[$this->loginData->getLoginIp()] >= self::FAILED_IP_LIMIT || @$loggerData[$this->loginData->getLoginName()] >= self::FAILED_USER_LIMIT || @$loggerData[$this->loginData->getIpCountry()] >= self::FAILED_IP_COUNTRY_LIMIT || @$loggerData[$ipRange] >= self::FAILED_IP_RANGE_LIMIT; echo 'ezlett' . json_encode($loggerData); return $a; } return false; }