Все для домашнего медиа - Отзывы | Советы по покупке | Дизайн | Новости технологий

Защита хотлинков изображений на Nginx

909

Если кто-то обслуживает изображения, хранящиеся на вашем сервере, прямо на их веб-странице (так называемые горячие ссылки на изображения), то этот совет по защите горячих ссылок для веб-сервера Nginx может помочь вам. Если изображение имеет горячую ссылку, то имя домена в его пути HTML src и имя домена веб-страницы не совпадают, как в примере ниже. Этот конкретный блог плагиат контента и изображения из моего поста об установке Transmission Bittorrent на Ubuntu.

Защита хотлинков изображений на Nginx

Hotlinked Image

Как правило, изображения одной подачи хранятся на их собственном сервере, но некоторые блоггеры не только крадут ваши изображения вместе с контентом. В приведенном выше примере только мое изображение было украдено (с моего домена linuxplained.com), но оно обслуживалось моим CDN Amazon CloudFront. Поэтому я платил за доставку изображений на его / ее веб-сайт. Если у вас нет CDN, это приведет к краже пропускной способности вашего сервера. Как вы можете видеть, хотлинкинг изображений без разрешения не только неэтичен, но и может нанести вред оригинальному сайту. [ Читать: настроить CDN для хостинга WordPress ]

Image Hotlink Защита на Nginx

Несколько месяцев назад я переключил свой блог на Nginx на Digital Ocean VPS. Во время перемещения я настроил Nginx для предотвращения хотлинкинга изображений. Чтобы показать вам, как реализована защита хотлинков изображений в Nginx, работающем на Ubuntu Server 14.04, давайте рассмотрим другой случай хотлинкинга изображений. Ниже приведен частичный скриншот моего поста об установке графического интерфейса на Ubuntu Server, который был полностью украден.

Защита хотлинков изображений на Nginx

Запретить горячие ссылки на изображения на Nginx

У меня в файле виртуального хоста был следующий код защиты хотлинков образов Nginx в блоках сервера:

#Prevent hotlinking location ~ .(gif|png|jpe?g)$ { valid_referers none blocked .domain.com; if ($invalid_referer) { return 403; } }

Приведенный выше код разрешает доступ к изображениям в формате gif, png, jpg и jpeg, хранящимся на сервере, только для domain.com (замените его именем домена) и его поддоменами (точка перед доменным именем важна для включения поддоменов). ). Поэтому, когда следующее скопировало весь пост и связало мои изображения с хотлинками, была показана только подпись к изображению.

Защита хотлинков изображений на Nginx

Image Hotlinking Protection в действии

В качестве альтернативы, вместо отправки 403, вы можете заменить фактическое изображение пользовательским изображением на лету, используя этот код:

#Prevent hotlinking location ~ .(gif|png|jpe?g)$ { valid_referers none blocked .domain.com; if ($invalid_referer) { rewrite (.*).(jpg|jpeg|png|gif)$ http://www.domain.com/images/hotlink-warning.jpg; } }

Использование приведенного выше кода в файле виртуального хоста вашего сайта заменит изображение с горячей ссылкой вашим пользовательским изображением (пример показан ниже). Снова не забудьте заменить имя домена и путь к пользовательскому изображению.

Защита хотлинков изображений на Nginx

Изображение Hotlink Warning – Пример

В приведенном выше примере большая проблема контент-плагиата все еще существует, но, по крайней мере, я смог предотвратить хотлинкинг изображений. Есть плагины WordPress, которые предлагают защиту ссылок на изображения. Но зачем устанавливать плагин, если вы можете сделать изображение с помощью небольшого кода на своем веб-сервере Nginx. Если у вас есть другие способы помешать хотлинкингу изображений, поделитесь ими с другими в разделе комментариев. Так что продолжайте реализовывать защиту горячих ссылок на вашем сервере и защищать ваш контент.

Источник записи: https://www.smarthomebeginner.com

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее