У меня есть приложение PHP для проверки доступа пользователей (user / pass) и, если доступ истинный, предоставьте им файл для загрузки, отправив nginx X-Accel-Redirect
заголовок пользователю.
Проблема проявляется, когда пользователь может поделиться своими данными для входа в систему (пользователь / пароль) с другими людьми; так что у каждого есть данные для входа, они могут получить доступ к файлам и загрузить их Я продолжаю описывать мою проблему на примере.
Например,
думаю, что у нас есть два народа, которые делятся своим доступом к логину так что они оба используют один и тот же пользователь / пароль для входа в систему. давайте назовем их «User_1
» а также «User_2
».
User_1
Войдите в систему и начните скачивать файл. в то же время, User_2
пытаюсь зайти тоже. здесь моё php-приложение обратило внимание на вторую попытку входа в систему.
У меня есть их (IP-адрес, user-agent, session_id), и я также могу узнать, какой файл уже загружается User_1
.
Когда User_2
пытаясь войти, я удалю User_1
сессия в php / mysql и если User_1
хочет скачать снова, он должен повторно войти в систему. Я даже могу просто приостановить эту учетную запись (Пользователь / Пасс), чтобы никто не мог использовать ее снова!
Но проблема в том, что X-Accel-Redirect
уже отправлено User_1
для его предыдущего входа в систему и загрузка продолжается, даже если я удаляю сессии php и вынуждаю выйти User_1
!
Итак, мне нужен способ прекратить User_1
Живое соединение для скачивания.
Таким образом, сделать невозможным более одной загрузки от одного пользователя / прохода одновременно.
Есть идеи?
Задача ещё не решена.
Других решений пока нет …