Advertisement
Guest User

Untitled

a guest
Mar 9th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.05 KB | None | 0 0
  1. <?php
  2. function sectotime($seconds) //? функция перевода секунд в дни
  3. {
  4.     $dt1 = new \DateTime('@0');
  5.     $dt2 = new \DateTime("@$seconds");
  6.     return $dt1->diff($dt2)->format('%a');
  7. }
  8. function validate_proverka($check) //? проверка sql инекции aka middelware ~by hlop
  9. {
  10.  
  11.     $deny_words = array(
  12.         "union",
  13.         "char",
  14.         "select",
  15.         "update",
  16.         "group",
  17.         "order",
  18.         "benchmark",
  19.         "where",
  20.         "from",
  21.         "load_file",
  22.         "grt24_articles",
  23.         "into",
  24.         "outfile",
  25.         "drop"
  26.     );
  27.     str_replace($deny_words, "", strtolower($check), $count); // (что ищем, если найдем - на что заменим, где ищем(фильтруемая переменная), сколько раз нашли и заменили)
  28.     if ($count > 0) {
  29.         exit('uker'); // Если было найдено хоть одно "запретное" слово, что произойдет остановка скрипта с текстом ошибки
  30.     }
  31.     //* " ' ` . , $
  32.     if (strpos($check, '%') !== false || strpos($check, '`') !== false || strpos($check, '$') !== false || strpos($check, '"') !== false || strpos($check, "'") !== false || strpos($check, ".") !== false) {
  33.         exit('uker');
  34.     }
  35.  
  36.     return $check;
  37. }
  38. $servername = ""; //? адрес бд
  39. $username = ""; //? юзернейм бд
  40. $password = ""; //? пароль бд
  41. $dbname = ""; //? имя бд
  42. $date = date('d.m.o'); //? получение локального времени с бд типа 2018.31.12
  43. $hwid = validate_proverka(mb_strtolower($_GET['hwid']));
  44. if ($_SERVER['HTTP_HOST'] != "123.beget.tech") //? п//? проверка на хост (от подмены в
  45. {
  46.     die("uker"); //? сброс подключения и вывод die
  47. }//? инпут by hlop
  48. if (empty($hwid)) //? если в запросе не содержется hwid
  49. {
  50.     die("uker");
  51. } else {
  52.     $conn = new mysqli($servername, $username, $password, $dbname); //?коненкт к сак'ю'эль
  53.     if ($conn->connect_error)
  54.     {
  55.         die("uker");
  56.     } else {
  57.         $sql = "SELECT * FROM Users WHERE HWID = '$hwid'"; //?выбор строки в которой есть хвид
  58.         $result = $conn->query($sql);
  59.         if ($result->num_rows > 0) //? Если кол-во юзеров с хвидом больше 0
  60.         {
  61.             $BDUkey = $result->fetch_assoc();
  62.             $EKDate = $BDUkey["UDate"]; //? запись в переменную дату ок. подписки из бд
  63.             if (empty($EKDate)) //?если дата ок. подписки пустая
  64.             {
  65.                 die("BK");
  66.             } else //?есле дата ок. подписки не пустая
  67.             {
  68.                 if (strtotime($date) < strtotime($EKDate)) //?если тек. дата меньше даты подписки
  69.                 {
  70.                     echo sectotime(strtotime($EKDate) - strtotime($date)); //?вывод дней подписки
  71.                 } else //?если тек. дата больше даты подписки
  72.                 {
  73.                     $sql = "UPDATE `юзернейм`.`Users` SET `UDate` = '' WHERE `Users`.`HWID` = '$hwid'"; //? удалить дату подписки если она меньше или равна текущей
  74.                     $conn->query($sql);
  75.                     die("BK");
  76.                 }
  77.             }
  78.  
  79.         }
  80.         else //?добавление хвида пользователя если хвида в базе нету
  81.         {
  82.             $sql = "INSERT INTO Users (HWID) VALUES ('$hwid')";
  83.             if ($conn->query($sql) === true) {
  84.                 die("HA");
  85.  
  86.             } else //?ошибка которой не может быть но как сказал хлоп на всякий случай
  87.             {
  88.                 die("uker");
  89.             }
  90.             $conn->close();
  91.         }
  92.     }
  93. }
  94. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement