23 посетителя на сайте. Из них:
Роботы23
Список пользователей
Леван Levaniko Был(a) в сети 14 минут назад
Павел Почекуев Был(a) в сети 16 минут назад
ГУГ кукушкин Был(a) в сети 20 минут назад
Валик Полторацкий Был(a) в сети 31 минуту назад
Dato Guliazali195 Был(a) в сети 34 минуты назад
Sergo MSK Был(a) в сети 35 минут назад
Костя костивич Был(a) в сети 42 минуты назад
FLOREN Был(a) в сети 46 минут назад
Микола Был(a) в сети 48 минут назад
Даниил Смирнов Был(a) в сети 53 минуты назад
Макар Дикторович Был(a) в сети 55 минут назад
Вова Васильев Был(a) в сети 1 час назад
komaru_rus Был(a) в сети 1 час назад
Был(a) в сети 1 час назад
Был(a) в сети 1 час назад
zahar pizda Был(a) в сети 2 часа назад
Danya.Sapranko Был(a) в сети 2 часа назад
Samur4k Был(a) в сети 2 часа назад
adil ibadilla Был(a) в сети 2 часа назад
Макар Подвальных Был(a) в сети 2 часа назад
Danya Game Был(a) в сети 2 часа назад
Женя Бороря Был(a) в сети 2 часа назад
Gg Gg Был(a) в сети 2 часа назад
TOKSYCHNIE Был(a) в сети 2 часа назад
Был(a) в сети 2 часа назад
Aritro Mitra Был(a) в сети 2 часа назад
Adim129 Был(a) в сети 2 часа назад
Btoome Amerilovurs Был(a) в сети 2 часа назад
Ilya Andrianov Был(a) в сети 2 часа назад
Даниил Девелоп Был(a) в сети 3 часа назад
Vadik Nikitin Был(a) в сети 3 часа назад
Matteo Soprano Был(a) в сети 3 часа назад
Никита Кириллов Был(a) в сети 3 часа назад
Артем Был(a) в сети 3 часа назад
Nekto Был(a) в сети 3 часа назад
Arab Был(a) в сети 3 часа назад
ivan 2123132 Был(a) в сети 3 часа назад
Monster Dubrovka Был(a) в сети 3 часа назад
BORZ Был(a) в сети 3 часа назад
Михаил Лобанов Был(a) в сети 3 часа назад
ウスふ ヘッォ林 Был(a) в сети 4 часа назад
Волк Был(a) в сети 4 часа назад
Никита Е Был(a) в сети 4 часа назад
Был(a) в сети 4 часа назад
Victor Vladimirovich Был(a) в сети 4 часа назад
Даниил Крюков Был(a) в сети 4 часа назад
Даниил Король Был(a) в сети 4 часа назад
iliya Minecraft Был(a) в сети 4 часа назад
乡亗TOX1k亗乡 Был(a) в сети 4 часа назад
رحمة لا Был(a) в сети 5 часов назад
Артур Тимаков Был(a) в сети 5 часов назад
Данил Потешкин Был(a) в сети 5 часов назад
Был(a) в сети 5 часов назад
Данил Редько Был(a) в сети 5 часов назад
TONI OWNPONI Был(a) в сети 5 часов назад
Хамзат Был(a) в сети 5 часов назад
Никита Марков Был(a) в сети 5 часов назад
Арсений Был(a) в сети 5 часов назад
MAYOROV Был(a) в сети 5 часов назад
zwaysq Был(a) в сети 6 часов назад
Хомячок ツ Был(a) в сети 6 часов назад
Сергей Куликов Был(a) в сети 6 часов назад
Forlovejum Был(a) в сети 6 часов назад
Vortix Mine Был(a) в сети 6 часов назад
Нет Имени Был(a) в сети 6 часов назад
BATYA MS Был(a) в сети 6 часов назад
Сергей Шемет Был(a) в сети 7 часов назад
Artem Dudov Был(a) в сети 7 часов назад
Михаил Безроднев Был(a) в сети 7 часов назад
Malloe Был(a) в сети 7 часов назад
Ksenia Lazareva Был(a) в сети 8 часов назад
Snickers Snickers Был(a) в сети 8 часов назад
Артём Дубов Был(a) в сети 8 часов назад
Вадим Влах Был(a) в сети 8 часов назад
Был(a) в сети 8 часов назад
mrvnss Был(a) в сети 9 часов назад
Organizator Volhrbnik Был(a) в сети 10 часов назад
Alexander Stepanov Был(a) в сети 10 часов назад
Murad Qurbanov Был(a) в сети 10 часов назад
Epic Minigames Был(a) в сети 10 часов назад
0987654321 Был(a) в сети 10 часов назад
Михаил Потапыч Был(a) в сети 11 часов назад
Семин Ундер Был(a) в сети 11 часов назад
Максим Гончаров Был(a) в сети 11 часов назад
Sonik89exe Был(a) в сети 11 часов назад
Виталий Шкарупа Был(a) в сети 12 часов назад
Developer Был(a) в сети 12 часов назад
Demon Был(a) в сети 12 часов назад
Артем Марсианенский Был(a) в сети 14 часов назад
Fedor Был(a) в сети 14 часов назад
PARSASJADY59 Был(a) в сети 15 часов назад
Максим Деньгуб Был(a) в сети 15 часов назад
Vvvv Gghh Был(a) в сети 15 часов назад
Arseniy Baev Был(a) в сети 15 часов назад
데니스 투신 Был(a) в сети 15 часов назад
Влад Влад Был(a) в сети 15 часов назад
Дмитрий Виноградов Был(a) в сети 16 часов назад
Andronov 06 Был(a) в сети 16 часов назад
Hitman Bmwf11 Был(a) в сети 16 часов назад
Назар Байструк Был(a) в сети 16 часов назад
Артем Хомiнскиi Был(a) в сети 17 часов назад
Дмитрий Был(a) в сети 17 часов назад
Anton Был(a) в сети 17 часов назад
Адам Котик Был(a) в сети 17 часов назад
Андрей Был(a) в сети 17 часов назад
Vadim Paramonchik Был(a) в сети 17 часов назад
Name Surname Был(a) в сети 17 часов назад
mvdvestell Был(a) в сети 17 часов назад
Hipex Pombao Был(a) в сети 17 часов назад
Список ботов
rambler (23)

Следите за нами!

LUA | Привязка к IP

Описание

Всем привет, мутил привязку, решил поделится с вами
Будем использовать lua + php + MySQL.
Начнем с создания DB.

1. Переходим в ваш сайт.ру/phpmyadmin, создаем базу данных с любым именем, я создам new_db.
2. Создаем таблицу, я назову users, в ней 2 колонки у меня это: code, date. code - будет ключ клиента, date - дата окончания действия ключа.

Создаем php скрипт, который будет проверять есть ли ключ в бд и активен ли он, если активен то выведет сколько дней до конца активации.

Вот сразу код:

PHP:
<!DOCTYPE html>
<head>
  <title>Auth</title>
  <meta charset="utf-8">
</head>
<body>
  <?php
  $mysqli = new mysqli("localhost", "123", "321", "new_db"); # 123 - user; 321- pass;
  $mysqli->set_charset("utf8");
  if ($mysqli->connect_errno){
  $json_array = array("error" => 1, "message" => "Ошибка подключения к БД");
  $json = json_encode($json_array, JSON_UNESCAPED_UNICODE);
  exit($json);
  }
  else {
    if (isset($_GET['code'])) {
      $query = "SELECT * FROM `users` WHERE CODE=".$_GET['code'];
      $sql = mysqli_query($mysqli,$query) or die(mysqli_error());
      if (mysqli_num_rows($sql) > 0) {
            $myrow = mysqli_fetch_array($sql);
            $date = date_create($myrow['date']);
            $curdate = date("d.m.Y");
            if (strtotime($curdate) < strtotime(date_format($date, 'd.m.y')))
            {
                $interval = date_diff($date, date_create($curdate));
                echo $interval->format("%d");
            }
            else
            {
                echo "The duration of the key has expired.";
            }
      }else{
        echo '-1';
      }
    }
  }
  ?>
</body>

Если ключ есть в бд и он не истек, выводим остаток дней, если истек, пишем:
"The duration of the key has expired."
Если ключа вообще нет, то пишем:
-1


 

Чтоб в ручную не добавлять ключи через PMA, напишем php, который будет принимать:
Ключ, количество дней на которое активируем его, пароль, который будете знать только вы.
PHP:
<!DOCTYPE html>

<head>
    <title>ADD KEY</title>
</head>
<body>

<?php
$mysqli = new mysqli("localhost", "123", "321", "new_db"); # 123 - user; 321- pass; new_db - base
$mysqli->set_charset("utf8");
if ($mysqli->connect_errno) {
    $json_array = array("error" => 1, "message" => "Ошибка подключения к БД");
    $json = json_encode($json_array, JSON_UNESCAPED_UNICODE);
    exit($json);
} else {
    echo('Успешное подключение!');
    if (isset($_POST["code"])) {
        if (!strcmp($_POST["pass"],"123456")){
          $date = new DateTime('NOW');
          $date->add(new DateInterval('P'.$_POST["days"].'D'));
          $sql = "INSERT INTO `users` (`code`, `date`) VALUES ('".$_POST['code']."', '".$date->format('d.m.y')."' )";
          $mysqli->query($sql);
           if ($sql) {
               echo "<p>Данные успешно добавлены в таблицу.</p>";
           } else {
               echo "<p>Произошла ошибка.</p>";
           }
        } else {
            echo "<p>Неверный пароль.</p>";
        }
    }
}
?>
<table>
    <form action="" method="post">
        <tr>
            <td>KEY:</td>
            <td><input type="text" name="code"></td>
        </tr>
        <tr>
            <td>DAYS:</td>
            <td><input type="text" name="days"></td>
        </tr>
        <tr>
            <td>PASSWORD:</td>
            <td><input type="text" name="pass"></td>
        </tr>
        <tr>
            <td colspan="2"><input type="submit" value="OK"></td>
        </tr>
    </form>
</table>
</body>

 

Теперь переходим к луа.

Для работы потребуется библиотека lua requests

Lua:
requests = require('requests')

function getserial()
    local ffi = require("ffi")
    ffi.cdef[[
    int __stdcall GetVolumeInformationA(
    const char* lpRootPathName,
    char* lpVolumeNameBuffer,
    uint32_t nVolumeNameSize,
    uint32_t* lpVolumeSerialNumber,
    uint32_t* lpMaximumComponentLength,
    uint32_t* lpFileSystemFlags,
    char* lpFileSystemNameBuffer,
    uint32_t nFileSystemNameSize
    );
    ]]
    local serial = ffi.new("unsigned long[1]", 0)
    ffi.C.GetVolumeInformationA(nil, nil, 0, serial, nil, nil, nil, 0)
    return serial[0]
end

function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(100) end
    checkKey()
    wait(-1)
end

function checkKey()
        response = requests.get('сайт.ру/auth.php?code='..getserial())
        if not response.text:match("<body>(.*)</body>"):find("-1") then -- Если ключ есть в бд
            if not response.text:match("<body>(.*)</body>"):find("The duration of the key has expired.") then -- Если сервер не ответил что ключ истек.
                sampAddChatMessage("До окончания лицензии осталось:"..response.text:match("<body>(.*)</body>"), -1) --  Выводим кол-во дней до конца лицензии
            else
                sampAddChatMessage(response.text:match("Срок действия лицензии истек."), -1)
            end
        else
            sampAddChatMessage("Ключ не активирован.", -1)
        end
end


Да и вообщем все.
В lua использовалась функция от




Автор публикации:

WiseBear WiseBear

Скачать:

Скачать

Дата:
Автор ресурса:

TRADARENA

Обучение LUA
Обучение LUA
24.12.2020, Статьи
Готовый сайт для SAMP проекта
Готовый сайт для SAMP проекта
07.12.2024, Скрипты сайтов / PREMIUM WEB
Мануал по настройке MYSQL услуги
Мануал по настройке MYSQL услуги
11.11.2023, Модули EGP
Введение в скриптинг
Введение в скриптинг
12.02.2021, Статьи

Нет комментариев.Оставишь комментарий?