Автор Тема: Что означает этот код  (Прочитано 178 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Эта тема содержит сообщение, помеченное как лучший ответ. Кликните здесь для перехода к этому сообщению.

toliasikАвтор темы

  • *
  • Оффлайн
  • Награды Три года на форуме !!!
  • Дата регистрации: Март 2017
  • Сообщений: 24
  • Страна: ru
  • Поблагодарили: 3 раз(а)
  • Репутация +0/-0
  • Пол: Мужской
    • Награды
  • Социальные сети:
    ВКонтакте
Что означает этот код
« : 17 Октября 2019, 15:57:48 »
Помогите понять код на русском языке
Я понимаю так - если база подключена то > 0  что означает 0 ?
иначе ошибка нет доступа !

         if($db->NumRows() > 0)
            die(status('err','Нет доступа'));

Это вход в админку не могу войти пишет нет доступа Получается так я ввёл логин пароль и секр ключь вернулось больше 0 строк !
Тогда почему пишет нет доступа ? Весь код скинул ниже )
 

GameRussia

  • *
  • *
  • Оффлайн
  • Награды Три года на форуме !!! Более 200 сообщений Репутация более 5 За помощь пользователям Более 10 созданных тем
  • Дата регистрации: Июнь 2017
  • Сообщений: 227
  • Страна: ru
  • Поблагодарили: 28 раз(а)
  • Репутация +9/-0
  • Пол: Мужской
    • Награды
  • Социальные сети:
    ВКонтакте
Что означает этот код
« Ответ #1 : 17 Октября 2019, 18:32:05 »
Какой код идет выше? Это вообще проверка на строки. Если sql запрос вернул больше 0 строк, то ошибка
 

toliasikАвтор темы

  • *
  • Оффлайн
  • Награды Три года на форуме !!!
  • Дата регистрации: Март 2017
  • Сообщений: 24
  • Страна: ru
  • Поблагодарили: 3 раз(а)
  • Репутация +0/-0
  • Пол: Мужской
    • Награды
  • Социальные сети:
    ВКонтакте
Что означает этот код
« Ответ #2 : 17 Октября 2019, 20:02:03 »
Какой код идет выше? Это вообще проверка на строки. Если sql запрос вернул больше 0 строк, то ошибка
<?php
function badAuth($db){
   $ip = $_SERVER['REMOTE_ADDR'];
   $date = time();
   $db->Query("INSERT INTO bad_auth (ip,date) VALUES ('{$ip}','{$date}')");
   echo status('err','Логин или пароль или ключ неверен');
}
if (!isset($_SESSION['admin'])) {
   if(isset($_POST['login']) && !empty($_POST['login'])){
      if (isset($_POST['password']) && !empty($_POST['password'])) {
         $spec_time = time() - 21600;
         $db->Query("SELECT * FROM bad_auth WHERE ip = '{$ip}' AND date > '{$spec_time}'");
         if($db->NumRows() > 0)
            die(status('err','Нет доступа'));

         $db->Query("SELECT * FROM admin WHERE id = '1'");
         $admin_data = $db->FetchArray();
         $login = func::clear($_POST['login']);
         $password = func::clear($_POST['password']);
         if($login == $admin_data['login']){
            if($password == $admin_data['password']){
               $key = $admin_data['secret'];
               if ($_POST['key'] == $key) {
                  $_SESSION['admin'] = true;
                  echo status('success');
               }else badAuth($db);
            }else badAuth($db);
         }else badAuth($db);
      }else echo status('err','Укажите пароль');
   }else echo status('err','Укажите логин');
}else echo status('err','Вы авторизованы');
 
Помечен как лучший ответ пользователем toliasik 18 Октября 2019, 14:22:15

GameRussia

  • *
  • *
  • Оффлайн
  • Награды Три года на форуме !!! Более 200 сообщений Репутация более 5 За помощь пользователям Более 10 созданных тем
  • Дата регистрации: Июнь 2017
  • Сообщений: 227
  • Страна: ru
  • Поблагодарили: 28 раз(а)
  • Репутация +9/-0
  • Пол: Мужской
    • Награды
  • Социальные сети:
    ВКонтакте
Что означает этот код
« Ответ #3 : 18 Октября 2019, 06:34:30 »
Насколько я понял, это проверка на запрещенный ip, попросту говоря БАН пользователя.
В запросе перед условием
$db->Query("SELECT * FROM bad_auth WHERE ip = '{$ip}' AND date > '{$spec_time}'");
Выбираются все строки с определенным ip и датой. А в условии ниже проверяется, если запрос вернул хоть одну строку, т.е ip юзера есть в "черном списке", то не даем авторизоваться.
 

toliasikАвтор темы

  • *
  • Оффлайн
  • Награды Три года на форуме !!!
  • Дата регистрации: Март 2017
  • Сообщений: 24
  • Страна: ru
  • Поблагодарили: 3 раз(а)
  • Репутация +0/-0
  • Пол: Мужской
    • Награды
  • Социальные сети:
    ВКонтакте
Что означает этот код
« Ответ #4 : 18 Октября 2019, 14:30:06 »
Всё разобрался !!! Дело было так Я не мог войти в админку потому что в коде стоит защита по ip если не тот айпи то срабатывал бан Для проверки я менял ip и попал в бд за бан После этого скрипт проверял - если мой айпи бан ОШИБКА нет доступа !!! Удалил себя из бд и вход востановлен !
Спасибо GameRussia  :big20:

 
Теги:
 

Кто-нибудь имеет этот скрипт?

Автор paulojkРаздел Вопросы / ответы по разным скриптам

Ответов: 0
Просмотров: 248
Последний ответ 23 Августа 2018, 20:19:13
от paulojk
Ищу скрипт похожий на этот

Автор PIMPРаздел Ищу (скрипты,модули,разное)

Ответов: 8
Просмотров: 287
Последний ответ 12 Мая 2020, 03:56:09
от kvozimir
Как исправить этот баг

Автор GhostРаздел Общие вопросы по фермам

Ответов: 2
Просмотров: 752
Последний ответ 03 Сентября 2016, 10:48:15
от Ghost
Как исправить этот

Автор GhostРаздел Вопросы по настройке фруктовых ферм

Ответов: 5
Просмотров: 1052
Последний ответ 04 Сентября 2016, 09:41:28
от kvozimir
Кто такой этот First?

Автор SomnambulaРаздел Вопросы по настройке фруктовых ферм

Ответов: 9
Просмотров: 1186
Последний ответ 05 Июня 2017, 19:38:46
от Joha