Рейтинг:0

Заставить apache принимать запросы только в том случае, если отправителем запросов является домен, который я указал

флаг in

В настоящее время у меня есть сервер apache2, принимающий запросы API по URL-адресу. мойдомен.com/api и у меня есть клиентское приложение, которое работает на мой домен.com.
Кроме того, в моем API можно получить доступ mydomain.com/api/files/fileId чтобы получить файл.
Теперь в моем клиентском приложении у меня есть страница типа mydomain.com/file/fileid который вместо прямой загрузки файла, как это делает соответствующая конечная точка API, отображает страницу с информацией о файле, и если это видео, у него есть правильный настраиваемый графический интерфейс для его потоковой передачи. Проблема в том, что можно напрямую получить доступ к API и получить файл, вместо того, чтобы видеть его на веб-сайте, и я хочу предотвратить это.
Конечная цель состоит в том, чтобы запретить пользователю загружать файл и обслуживать его только через мой веб-сайт, немного похоже на youtube (о котором я знаю)...
Это достижимо с конфигурацией apache? Или я должен полностью изменить то, как я подхожу к этому? РЕДАКТИРОВАТЬ: На данный момент я сохраняю доступ к файлу как с URL-адреса API, так и со страницы веб-сайта, но если у кого-нибудь есть какие-либо идеи, пожалуйста, помогите, спасибо

djdomi avatar
флаг za
Я думаю, что это дубликат, например [этот] (https://stackoverflow.com/questions/39550660/how-to-block-direct-download-file)
Alessandro Valentino avatar
флаг in
Я так не думаю. У меня уже есть аутентификация по этим запросам, мне нужно запретить людям прямой доступ к URL-адресу API и разрешить его использование только моему приложению.
djdomi avatar
флаг za
затем ограничивается локальным хостом, т.е. может быть хорошим решением?
Alessandro Valentino avatar
флаг in
Если я ограничу запрос локальным хостом, то мое веб-приложение не сможет получить к нему доступ, поскольку ему необходимо получить доступ к ресурсу как любому другому пользователю. Или, по крайней мере, я не знаю, как это сделать, но я думаю, что это невозможно
djdomi avatar
флаг za
если вы написали это, то вы должны быть в состоянии сделать это. Возможно, вы также можете использовать скрытый ключ, чтобы разрешить доступ, но это просто мысль. Помните, что существуют скрипты против пиявок, которые не позволяют пользователям узнать настоящий URL-адрес. Но сбой сервера — это не кодовая страница. Stackoverflow.com, на мой взгляд, был бы вашим лучшим выбором для решения проблемы в исходном коде, а не для создания обходного пути.
Alessandro Valentino avatar
флаг in
Я думал об использовании ключа, сохраненного на клиенте, но тогда может ли кто-нибудь, кто знает некоторые основы, перемещаться по js и найти ключ? Кроме того, я не знал об этих «скриптах пиявки», поэтому я обязательно изучу это, чтобы увидеть, помогут ли они в моем случае, спасибо.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.