Задать вопрос
@djok2142

Шифрование уникальной ссылки для пользователя. Как реализовать?

Есть сайт который находится на одном сервере, и есть второй сервер на котором хранятся файлы.
Что бы другие сайты не размещали ссылки на скачивание у себя, тем самым создавай чрезмерную нагрузку на мой небольшой файловый сервер. Сделал генерирование уникальной ссылки для каждого пользователя. Для этого беру ip адрес пользователя, добавляю некую соль и шифрую в md5, полученный хеш добавляю в ссылку на скачивание. Когда пользователь переходит по ссылке на скачивание, файловый сервер так же само берет ip пользователя + соль, шифрует в md5 и полученный хеш сравнивает с тем что передается по ссылке, если хеши совпадает то сервер отдает файл.
Очень просто и эффективно.
Однако есть проблема, все больше пользователей начинает использовать VPN, и скачать файлы они не могут, так как когда пользователь заходит на сайт и ему генерируется ссылка, то в ссылку шифруется один ip адрес, а когда пользователь переходит по ссылке, то файловый сервер видит уже совсем другой ip, и хеши не совпадают. Так как VPN сервисы рандомно выбирают через какой прокси сервер отправить запрос пользователя, и ip постоянно меняется.

Какой еще есть простой способ, сделать для пользователя уникальную ссылку, которая будет работать только для него, но без использования ip адреса?
Повторюсь, ссылка генерируется на одном сервере а файл лежит на другом сервере, по этому использовать базу данных для хранения хешей и синхронизировать ее между серверами, достаточно проблематично.
  • Вопрос задан
  • 2150 просмотров
Подписаться 2 5 комментариев