Как обойти запрет одновременной параллельной авторизации одного аккаунта на сайте с разных устройств(+-15)?
Есть сайт, на котором создан 1 аккаунт и есть нужда им пользоваться на нескольких устройствах. Но есть проблема: после авторизации на 3 и более устройствах происходит бан. Чередовать выход из аккаунта из одних устройств и вход на других муторно, поэтому есть ли способ как-то это обойти.
Рассматривал вариант по созданию общего сервера - пк (на котором будет открыт этот сайт в браузере), к которому будут иметь удалённый доступ с правом управлять браузером другие устройства, подключаемые допустим через другую программу. Рассматривал использование AnyDesk: все работает, множество устройств подключается к одному. Но проблема в том, что каждое устройство управляет общим рабочим столом, одним курсором, а хотелось бы, чтобы для каждого был свой (стол или курсор) и не было конфликтных столкновений (каждый управляет своим курсором, клавиатурой и т.д). Думал сделать виндовские доп. рабочие столы, создавал виртуальные мониторы - проблему не решили.
Может вы знаете как обойти запрет, доработать мою идею или знаете то, до чего я ещё не додумался?
Спасибо за помощь!
Дополнительно:
купить нужное число лицензий ?
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Для обхода запрета одновременной параллельной авторизации одного аккаунта на сайте с разных устройств, можно использовать следующий подход:
1. Создание уникального токена сессии при каждой успешной авторизации пользователя на сайте. Этот токен будет храниться в базе данных и будет связываться с конкретным пользователем.
2. При каждом запросе пользователя на сайт, необходимо проверять наличие этого уникального токена сессии в базе данных и сравнивать его с тем, который передается в запросе. Если токены не совпадают, то пользователь будет вынужден снова авторизоваться.
3. При успешной авторизации пользователя на одном из устройств, необходимо удалять все другие токены сессии, связанные с этим пользователем. Таким образом, будет обеспечена возможность авторизации только с одного устройства.
Пример кода на PHP:
// Генерация уникального токена сессии $token = bin2hex(random_bytes(16)); // Сохранение токена в базе данных $user_id = $_SESSION['user_id']; $query = "INSERT INTO user_sessions (user_id, token) VALUES ($user_id, '$token')"; $result = mysqli_query($connection, $query); // Проверка токена при каждом запросе if(isset($_SESSION['user_id'])) { $user_id = $_SESSION['user_id']; $token = $_SESSION['token']; $query = "SELECT token FROM user_sessions WHERE user_id = $user_id"; $result = mysqli_query($connection, $query); $row = mysqli_fetch_assoc($result); if($token != $row['token']) { // Не совпадает токен, требуется повторная авторизация // Редирект на страницу авторизации } } // Удаление всех токенов сессии, кроме текущего $query = "DELETE FROM user_sessions WHERE user_id = $user_id AND token != '$token'"; $result = mysqli_query($connection, $query); |
// Генерация уникального токена сессии $token = bin2hex(random_bytes(16)); // Сохранение токена в базе данных $user_id = $_SESSION['user_id']; $query = "INSERT INTO user_sessions (user_id, token) VALUES ($user_id, '$token')"; $result = mysqli_query($connection, $query); // Проверка токена при каждом запросе if(isset($_SESSION['user_id'])) { $user_id = $_SESSION['user_id']; $token = $_SESSION['token']; $query = "SELECT token FROM user_sessions WHERE user_id = $user_id"; $result = mysqli_query($connection, $query); $row = mysqli_fetch_assoc($result); if($token != $row['token']) { // Не совпадает токен, требуется повторная авторизация // Редирект на страницу авторизации } } // Удаление всех токенов сессии, кроме текущего $query = "DELETE FROM user_sessions WHERE user_id = $user_id AND token != '$token'"; $result = mysqli_query($connection, $query);
Следуя этим шагам, можно обеспечить безопасность и защиту аккаунта пользователя от одновременной авторизации с разных устройств.


Для решения проблемы запрета одновременной параллельной авторизации одного аккаунта на сайте с разных устройств, можно использовать следующий подход.
1. Сначала необходимо добавить в базу данных дополнительное поле для каждого пользователя, которое будет отвечать за статус активности сеанса. Например, это может быть поле с названием "session_status" типа boolean.
2. При каждой успешной авторизации пользователя на сайте, необходимо установить значение "true" для поля "session_status" в базе данных для данного пользователя.
3. При попытке авторизации на сайте с другого устройства, необходимо проверить значение поля "session_status" в базе данных для данного пользователя. Если оно равно "true", то необходимо прервать процесс авторизации и выдать сообщение о том, что аккаунт уже авторизован на другом устройстве.
4. Для разрешения одновременной авторизации на одном устройстве и запрета на других, можно добавить кнопку "Выход из аккаунта на других устройствах" в личном кабинете пользователя. При нажатии на эту кнопку, значение поля "session_status" в базе данных будет изменено на "false", что позволит пользователю авторизоваться на новом устройстве.
Пример реализации на PHP:
// Проверка статуса сеанса пользователя function checkSessionStatus($userId) { $sql = "SELECT session_status FROM users WHERE id = $userId"; $result = mysqli_query($connection, $sql); $row = mysqli_fetch_assoc($result); return $row['session_status']; } // Установка статуса сеанса пользователя function setSessionStatus($userId, $status) { $sql = "UPDATE users SET session_status = $status WHERE id = $userId"; mysqli_query($connection, $sql); } // Пример использования $userId = 1; if(checkSessionStatus($userId)) { echo "Аккаунт уже авторизован на другом устройстве"; } else { setSessionStatus($userId, true); echo "Авторизация прошла успешно"; }
Таким образом, с помощью вышеперечисленных шагов и примера кода на PHP можно обойти запрет одновременной параллельной авторизации одного аккаунта на сайте с разных устройств.