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

Ссылки заперт вставки на другом сайте?

здрасти

как запретить ставить ссылки на стороннем сайте, то есть например аудио файл или видео, как можно запретить вставлять на друге сайты, то что хотлинк наторить можно понятно, нужно как например если взять с некоторых сайтов ссылки и вставить у себя на сайте, то через некоторое время эти ссылки перестают работать, более того у эти ссылок меняется адрес, как можно настроить такое на своем хостинге, а то люди ставят ссылки у себя на сайтах и пошла нагрузка на сервер
  • Вопрос задан
  • 41 просмотр
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@rPman
через некоторое время эти ссылки перестают работать
все ссылки на сайте должны проходить через твою функцию генератор, которая преобразует их к временному виду, как минимум нужно думать какие ссылки стоит так подменять а какие нет.

Вариантов реализации много, например

- ссылка из ?a=xxx&b=yyy&... преобразуется в ?a=XXXX, где XXX идентификатор, выдаваемый и сохраняемый в базе с датой и исходной строкой ?a=xxx&b=yyy&, соответственно в роутере проводишь обратное преобразование по идентификатору из базы. Ссылки удалять из базы со временем (добавь туда дату смерти и при запросе ее сравнивай с текущей).

- или еще пример, ссылку запаковываешь в бинарную сроку, шифруешь паролем, выдаваемым на время (на весь сайт), и кодируешь результат в base64, так же будет выглядеть ?a=XXXX, достоинство - не надо хранить в базе ссылки, только текущий и прошлый пароль, недостаток - время жизни будет не у ссылки а у всех их скопом (грубо говоря выданные сегодня помрут завтра, а завтрешние - послезавтра, вне зависимости утром ты их создал или вечером)

- видел смешные реализации типа к ссылке добавить текущий таймстамп и игнорировать слишком старые, сам понимаешь такие легко обнаружить и подделать.
Ответ написан
@alex1478
Проверяйте заголовок Referer и если там не ваш сайт, отдавайте ошибку вместо контента.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы