Шифрование уникальной ссылки для пользователя. Как реализовать?
Есть сайт который находится на одном сервере, и есть второй сервер на котором хранятся файлы.
Что бы другие сайты не размещали ссылки на скачивание у себя, тем самым создавай чрезмерную нагрузку на мой небольшой файловый сервер. Сделал генерирование уникальной ссылки для каждого пользователя. Для этого беру ip адрес пользователя, добавляю некую соль и шифрую в md5, полученный хеш добавляю в ссылку на скачивание. Когда пользователь переходит по ссылке на скачивание, файловый сервер так же само берет ip пользователя + соль, шифрует в md5 и полученный хеш сравнивает с тем что передается по ссылке, если хеши совпадает то сервер отдает файл.
Очень просто и эффективно.
Однако есть проблема, все больше пользователей начинает использовать VPN, и скачать файлы они не могут, так как когда пользователь заходит на сайт и ему генерируется ссылка, то в ссылку шифруется один ip адрес, а когда пользователь переходит по ссылке, то файловый сервер видит уже совсем другой ip, и хеши не совпадают. Так как VPN сервисы рандомно выбирают через какой прокси сервер отправить запрос пользователя, и ip постоянно меняется.
Какой еще есть простой способ, сделать для пользователя уникальную ссылку, которая будет работать только для него, но без использования ip адреса?
Повторюсь, ссылка генерируется на одном сервере а файл лежит на другом сервере, по этому использовать базу данных для хранения хешей и синхронизировать ее между серверами, достаточно проблематично.
Какой VPN? Чувак с телефоном зашел домой - и вот он уже не в мобильной сети, а в домашней, с совершенно другим айпишником. Проехал час на поезде - и вот у него уже не Северо-Запад, а Поволжье с другим диапазоном IP.
Забудьте уже про IP как метод определения чего бы то ни было.
Wispik, Пробовал делать на куках, но с ними какая то чертовщина творится. В одном браузере работает нормально, например в Гугл Хром, а в Фаерфоксе ни в какую не хочет работать. То есть когда пользователь заходит на сайт, устанавливается специальная кука, затем когда он переходит по ссылке скачивания, на файловый сервер отправляется эта кука, в хром работает отлично, а Фаерфокс ни в какую не отправляет эту куку на файловый сервер. Перепробовал все возможные настройки задавать куке при создании, не отправляет и все тут.
djok2142, и это нормально, ведь кука привязана к домену, а он у вас у второго сайта, скорее всего, отличается. Или вы при установке ставите именно домен второго сайта, где лежат файлы?