Проблема в защите горячей ссылки Nginx

Можно сделать это с rsync.

Что-то вроде этого должно быть достаточным:

rsync -av /path/to/Desktop/ server.name:/path/to/destination

-av говорит rsync 'заархивировать' (поддерживает полномочия, действия рекурсивно, и т.д.) и быть подробным (печать переданные имена файлов).

Примечание: при отъезде запаздывания / в конце 'Рабочего стола' содержание Рабочего стола будет передано. Без наклонной черты все документы будут переданы в папку под названием 'Рабочий стол' на месте назначения.

1
задан 12 September 2011 в 14:31
2 ответа

Вы должны задать этот вопрос на: https://serverfault.com/

Мой текущий сайт использует это:



## Stop Image and Document Hijacking, alow Google, MSN PicSearch
location ~* \.(png|gif|jpg|jpeg)$ {
        set $testref "";
        if ($http_referer !~ ^(http://mydomain.com|http://www.google|http://images.search.yahoo|http://www.bing|http://pictures.ask)){
           set $testref I;
        }
        if ($http_user_agent !~* (Googlebot|psbot|msnbot|Yahoo|Ask)) {
           set $testref "${testref}G";
        }
        if ($testref = IG){
           return 444;
        }
}


Вы можете использовать только первую часть «если» , второе - не блокировать Google и других пауков изображений. Первая часть ищет референтов из mydomain (и google и т. Д.) И возвращает 444 в других случаях. Его можно заменить, чтобы вернуть изображение blank.gif.

3
ответ дан 3 December 2019 в 19:20

Для этого вы можете использовать параметр valid_referers в Nginx. См. https://www.atulhost.com/hotlink-protection-nginx

Соответствующий код:

location ~* \.(gif|jpg|jpeg|png|wmv|avi|mpg|mpeg|mp4|htm|html|js|css)$ {
  valid_referers none blocked example.org www.exampleorg ~\.google\. ~\.yahoo\. ~\.bing\. ~\.facebook\. ~\.fbcdn\.;
  if ($invalid_referer) {
    return 403;
  }

  root   /home/username/public_html;
  expires 1d;
}
0
ответ дан 3 December 2019 в 19:20

Теги

Похожие вопросы