Запрет на скачивание файлов.

nalivayko
На сайте с 14.11.2014
Offline
102
1028

Есть папка https://site.ru/download/ в ней файлы. нужно разрешить скачивание файла только если переход на файл с этого же сайта или к нему напрямую обращается user-agent у которого в название слово ZAGRY. спасибо

>Лучшая монетизация белого файлового трафика без мусора и без меток Яндекса. < (https://goo.gl/VEDapR) >Инсталл партнерка. от 3 до 51.84 руб за 1 установку. белая ПП (https://goo.gl/VEDapR)
Z
На сайте с 20.07.2008
Offline
76
#1
nalivayko:
Есть папка https://site.ru/download/ в ней файлы. нужно разрешить скачивание файла только если переход на файл с этого же сайта или к нему напрямую обращается user-agent у которого в название слово ZAGRY. спасибо

Допустим у вас nginx, тогда для папки download нужно прописать


if ($http_user_agent !~* (ZAGRY)) {
return 403;
}
LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#2

Если есть настройки nginx то можно через него сделать доступ к папке.

Или же делать PHP прослойку и гонять файлы через скрипт, который будет проверять и рефера и юзерагент.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
nalivayko
На сайте с 14.11.2014
Offline
102
#3
LEOnidUKG:
Если есть настройки nginx то можно через него сделать доступ к папке.

Или же делать PHP прослойку и гонять файлы через скрипт, который будет проверять и рефера и юзерагент.

настройки nginx есть. Но как сделать и в какую сторону смотреть понятие не имею. первый сервер и настраивал него не я.

JamesJGoodwin
На сайте с 15.02.2018
Offline
49
#4
nalivayko:
настройки nginx есть. Но как сделать и в какую сторону смотреть понятие не имею. первый сервер и настраивал него не я.

У вас настройки веб-сервера nginx должны находиться в /etc/nginx/sites-available/ либо в файле default, либо в каком-нибудь другом. Зависит от количества хостов и того, как всё это дело настраивалось веб-мастером.

В самом файле есть директивы server {}. Их может быть несколько, а может быть всего одна. В зависимости от того, настраивался ли редирект с http на https и с non-www на www. Вам нужен тот server, в теле которого находятся строки server_name www.вашдомен.ru, root и index. Рядом с ними должен быть location / {}, внутри которого вы можете разместить условие, которое вам подсказали выше. После проделанной операции протестируйте конфигурацию nginx в консоли командой nginx -t. Если ошибок нет, загрузите в nginx новый конфиг командой service nginx reload.

Флот.ру (https://www.flaut.ru) - поможет найти дешёвые авиабилеты. Без рекламы. Без предложений докупить экскурсии или трансферы.
nalivayko
На сайте с 14.11.2014
Offline
102
#5
JamesJGoodwin:
У вас настройки веб-сервера nginx должны находиться в /etc/nginx/sites-available/ либо в файле default, либо в каком-нибудь другом. Зависит от количества хостов и того, как всё это дело настраивалось веб-мастером.

В самом файле есть директивы server {}. Их может быть несколько, а может быть всего одна. В зависимости от того, настраивался ли редирект с http на https и с non-www на www. Вам нужен тот server, в теле которого находятся строки server_name www.вашдомен.ru, root и index. Рядом с ними должен быть location / {}, внутри которого вы можете разместить условие, которое вам подсказали выше. После проделанной операции протестируйте конфигурацию nginx в консоли командой nginx -t. Если ошибок нет, загрузите в nginx новый конфиг командой service nginx reload.

Спасибо. буду пробовать. с шаредом было намного все проще)

JamesJGoodwin
На сайте с 15.02.2018
Offline
49
#6

nalivayko, поправочка. Вам лучше всё-таки не в location / {} вставить код, а создать новый location /download/ {}. Что-то я упустил этот момент.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий