Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- //
- function validate_proverka($check)//? проверка sql инекции aka middelware ~by hlop
- {
- $deny_words = array("union", "char", "select", "update", "group", "order", "benchmark", "where", "from", "load_file", "grt24_articles", "into", "outfile", "drop");
- str_replace($deny_words, "", strtolower($check), $count); // (что ищем, если найдем - на что заменим, где ищем(фильтруемая переменная), сколько раз нашли и заменили)
- if ($count > 0) {
- exit('SQL - inj');// Если было найдено хоть одно "запретное" слово, что произойдет остановка скрипта с текстом ошибки
- }
- //* " ' ` . , $
- if (strpos($check, '%') !== false || strpos($check, '`') !== false || strpos($check, '$') !== false || strpos($check, '"') !== false || strpos($check, "'") !== false || strpos($check, ".") !== false) {
- exit('SQL - inj');
- }
- return $check;
- }
- function generateRandomString() //? генератор очка хлопа
- {
- $characters = '0123456789abcdefghijklmnopqrstuvwxyz';
- $charactersLength = strlen($characters);
- $randomString = '';
- $size_random = 20; // ?20 - размер рандомной строки by hlop
- for ($i = 0; $i < $size_random; $i++) //? by hlop
- {
- $randomString .= $characters[rand(0, $charactersLength - 1)];
- }
- return $randomString;
- }
- function sectotime($seconds) //? функция перевода секунд в дни
- {
- $dt1 = new \DateTime('@0');
- $dt2 = new \DateTime("@$seconds");
- return $dt1->diff($dt2)->format('%a');
- }
- //
- $servername = "localhost";//? адрес бд
- $username = "o925268f_1"; //? юзернейм бд
- $password = "o925268f_1"; //? пароль бд
- $dbname = "o925268f_1"; //? имя бд
- $date1 = date('d.m.o'); //? получение локального времени с бд типа 2018.31.12
- $hwid = validate_proverka(mb_strtolower($_GET['hwid'])); //? инпут by hlop
- $key = validate_proverka(mb_strtolower($_GET['key']));//? инпут by hlop
- if ($_SERVER['HTTP_HOST'] != "hostaut.tk") //? проверка на хост (от подмены в host)
- {
- die("die"); //? сброс подключения и вывод die
- } else {
- //? Create connection
- if (empty($hwid )) //? если в запросе не содержется hwid
- {
- die("die");
- } else {
- $conn = new mysqli($servername, $username, $password, $dbname);//?коненкт к сак'ю'эль
- if ($conn->connect_error) {
- die("die");
- }
- $sql = "SELECT * FROM users WHERE hwid = '$hwid'";//?выбор строки в которой есть хвид
- $result = $conn->query($sql);
- if ($result->num_rows > 0) //? Если кол-во юзеров с хвидом больше 0
- {
- $BDUkey = $result->fetch_assoc();
- $Key_data = $BDUkey["keydate"];
- $BDUkey = $BDUkey["key"]; //? запись в переменную ключа юзверя из бд
- if ($hwid){
- if (strtotime($date1) < strtotime($Key_data)) //?если время хоста меньше времени окончания подписки то...
- {
- echo sectotime(strtotime($Key_data) - strtotime($date1));
- }
- else
- {
- $sql = "UPDATE `o925268f_1`.`users` SET `key` = `` WHERE `users`.`hwid` = '$hwid'"; //? удалить ключь
- $conn->query($sql);
- die("outdatesub");
- }
- }
- } else { //! BUG
- //TODO: проверка хвида на наличие sql команды
- $sql = "INSERT INTO users (hwid) VALUES ('$hwid')";
- if ($conn->query($sql) === true) {
- die("added");
- } else {
- die("error");
- }
- $conn->close();
- }
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement