2015-12-24 1 views
1

Я использую Nginx 1.8 на Windows Server 2012 R2. Я публикую снимки программного обеспечения на бирже в реальном времени на веб-сайте. Я использую только базовые html. Моя цель - остановить хотлинкинг на изображениях, а также прекратить их загрузку. Я пробовал IIS также Apache не смог остановить hotlinking. Я попытался под кодом, чтобы остановить хотлинкинг и получил успех.nginx deny скачать и hotlinking изображения

location ~ .(jpg|jpeg|png|gif)$ { 
    valid_referers blocked example.com www.example.com; 
    if ($invalid_referer) { 
     rewrite (.*)\.(jpg|jpeg|png|gif)$ http://abc.example.com/banned-stamp-clipart.png; 
    } 
} 
location /html/images/ { 

    ## drop rest of the world 
    deny all; 
} 

Но как остановить, чтобы загрузить изображение из менеджеров загрузки, такие как IDM, с путем, например http://www.example.com/images/abc.png

ответ

1

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

Вы можете сделать это сложнее. Например, используйте X-Accel-Redirect со сценарием на стороне сервера, который выдает одноразовые маркеры для просмотра изображений, которые генерируются по html-адресу и истекают, когда изображение загружается браузером (также проверяя там референт).

Изображения можно разделить на несколько частей, так что это еще труднее использовать «как есть» (но и труднее самостоятельно, вы обращаться)

Кроме того, они могут быть извлечены из кэша браузера, вы можете попробовать добавление заголовков без кеша, но это не выглядит хорошей идеей.