Назад | Перейти на главную страницу

Как я могу предотвратить хотлинкинг? (nginx)

Я использую nginx и у меня нет доступа к конфигурации сервера.

Может быть с аналогом .htaccess? ..

location ~* (\.jpg|\.png|\.gif|\.jpeg)$ {
 valid_referers blocked www.domain.com domain.com;
 if ($invalid_referer) {
    return 403;
 }
  root   /srv/www/domain.com/public_html;
}

Без доступа к конфигурации сервера вы не можете изменить какие-либо настройки. В nginx нет эквивалента Apache httpd .htaccess.

На всякий случай, если у вас ЕСТЬ доступ к веб-серверу:

location ~* (\.jpg|\.png|\.gif|\.jpeg|\.png)$ {
 valid_referers none blocked www.example.com example.com;
 if ($invalid_referer) {
    return 403;
 }
}

Джоши прав: nginx управляется одним файлом конфигурации, который нельзя редактировать. Единственная возможность - использовать сценарий редиректора, который говорит «403 Доступ запрещен» для горячих ссылок и «301 перемещен навсегда» для обычных ссылок.

Одно из решений - динамически создавать все ваши страницы и контент с разными URL-адресами, срок действия которых истекает через некоторое время. Это делает невозможным хотлинкинг.

Если это нецелесообразно, вы также можете проверить реферер. Если вы не можете перенастроить nginx, вам, вероятно, придется сделать это на языке сценариев, который динамически генерирует страницы.