не смотрел сурс,
1. Первое, что тебе нужно, для самой простой хвид привязки - это на клиенте получать какой то набор данных и преобразовывать его в строку (самый удобный вариант), ну например id процессора, там материнки и еще чего нибудь
2. При аутентификации тебе нужно отправлять этот хвид, вместе с остальными данными на какой то юрл на твоем сервере (например /auth.php), далее в этом auth.php ты проверяешь совпадает ли hwid, лолин и пароль с тем, что есть в базе, если такого нет, то возвращаешь хттп ошибку (403), или просто exit('error');
если тебе так будет проще.
3. На клиенте все отправлять и получать достаточно просто можно с помощью curl
пример простой аутентификации
<?php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: *");
include 'db.php';
session_start();
if($_POST['login']) {
$username = mysqli_escape_string($conn, $_POST['username']);
$password = mysqli_escape_string($conn, $_POST['password']);
$hwid = mysqli_escape_string($conn, $_POST['hwid']);
$select = mysqli_query($conn, "SELECT * FROM `users` WHERE username='$username' AND password='$password' AND hwid='$hwid'") or die('Login attempt failed');
if(mysqli_num_rows($select) > 0) {
$fetch = mysqli_fetch_assoc($select);
exit('success');
} else {
exit('UserDoesNotExist');
}
}
?>
db.php:
<?php
$db_host = "localhost";
$db_username = "root";
$db_password = "123";
$db_name = "loader";
$conn = mysqli_connect($db_host, $db_username, $db_password, $db_name) or die ("connection failed");
?>
C подпиской в целом тоже самое, просто делаешь еще один файл, где при активной сесси / правильной комбинации данных возвращаешь дни подписки
сорри если в теме что то недочитал, или не понял что тебе нужно, в любом случае гайдом на ютубе море, найти при желании и сделать можно за день / пару часов при базовых знаниях