We are happy to announce that Vesta is back under active development as of 25 February 2024. We are working on v1 candidate and expect to engage more with the community over the coming months. We are committed to open source, and we encourage contributors to help us build the future of Vesta.
Защита хотлинк
Защита хотлинк
Здравствуйте, как же правильно поставить защиту от хотлинка, такая конструкция не работает:
И такая:
Code: Select all
location ~ \.(jpg|png|gif)$ {
valid_referers server_names blocked none frienddomain.com *.frienddomain.com ;
if ($invalid_referer) {
return 403;
}
}
Code: Select all
location ~* ^.+\.(jpg|png|gif)$ {
root /path/to/site/;
valid_referers none blocked server_names ;
if ($invalid_referer) {
return 403;
}
}
Re: Защита хотлинк
У меня такое в nginx работает
Code: Select all
location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|tif|tiff|css|js|htm|html|ttf|otf|webp|woff|txt|csv|rtf|doc|docx|xls|xlsx|ppt|pptx|odf|odp|ods|odt|pdf|psd|ai|eot|eps|ps|zip|tar|tgz|gz|rar|bz2|7z|aac|m4a|mp3|mp4|ogg|wav|wma|3gp|avi|flv|m4v|mkv|mov|mpeg|mpg|wmv|exe|iso|dmg|swf)$ {
root /путь до/сайта;
valid_referers none blocked server_names ~(yandex|google|yahoo|bing|facebook|fbcdn);
if ($invalid_referer) {
rewrite (.*)\.(jpg|jpeg|png|gif)$ https://положил картинку на стронний сервис которая будет отображаться как запрет хотлинка;
}
Re: Защита хотлинк
Спасибо большое, заработало, только как бы допилить, у меня сайт https и хотлинки которые идут по такой ссылке http://cайт.ru/картинка.png блокируются, но хотлинки https://сайт.ru/картинка.png не блокируются =(
Re: Защита хотлинк
У меня в htaccess стоит редирект и всё попадает на HTTPS и блокируется просто отличто.
Это надо вставлять в home\admin\conf\web\ в nginx - этот файл отвечает за http и в snginx - этот файл отвечает за https
Это надо вставлять в home\admin\conf\web\ в nginx - этот файл отвечает за http и в snginx - этот файл отвечает за https
Re: Защита хотлинк
Вот спасибо, всё получилось =))
Re: Защита хотлинк
Хотя нет не получилось, хм вроде все так же вставил... =(
Re: Защита хотлинк
У меня вот такая конструкция и не работает на https, на http все работает((
/home/user/conf/web/snginx.conf
/home/user/conf/web/snginx.conf
Code: Select all
server {
listen xx.xx.xx.xx:443;
server_name domen.ru www.domen.ru;
ssl on;
ssl_certificate /home/user/conf/web/ssl.domen.ru.pem;
ssl_certificate_key /home/user/conf/web/ssl.domen.ru.key;
error_log /var/log/httpd/domains/domen.ru.error.log error;
location / {
proxy_pass https://xx.xx.xx.xx:8443;
location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|tif|tiff|css|js|htm|html|ttf|otf|webp|woff|txt|csv|rtf|doc|docx|xls|xlsx|ppt|pptx|odf|odp|ods|odt|pdf|psd|ai|eot|eps|ps|zip|tar|tgz|gz|rar|bz2|7z|aac|m4a|mp3|mp4|ogg|wav|wma|3gp|avi|flv|m4v|mkv|mov|mpeg|mpg|wmv|exe|iso|dmg|swf)$ {
root /home/user/web/domen.ru/public_html;
valid_referers none blocked server_names ~(yandex|ya|google|yahoo|bing|facebook|fbcdn|vk|vkontakte|mail);
if ($invalid_referer) {
rewrite (.*)\.(jpg|jpeg|png|gif)$ https://полный_путь_до_картинки_на_стороннем_сервисе;
}
access_log /var/log/httpd/domains/domen.ru.log combined;
access_log /var/log/httpd/domains/domen.ru.bytes bytes;
expires max;
try_files $uri @fallback;
}
limit_req zone=antibot burst=30;
limit_conn antibott 100;
}
location /error/ {
alias /home/user/web/domen.ru/document_errors/;
}
location @fallback {
proxy_pass https://xx.xx.xx.xx:8443;
}
location ~ /\.ht {return 404;}
location ~ /\.svn/ {return 404;}
location ~ /\.git/ {return 404;}
location ~ /\.hg/ {return 404;}
location ~ /\.bzr/ {return 404;}
include /home/user/conf/web/snginx.domen.ru.conf*;
}
Re: Защита хотлинк
Вы как проверяете работает оно или нет?
Я размещаю на стороннем сайте картинку от себя,потом чищу кеш ибо картинка эта хранится у меня в кеше браузера и он её подтянет оттуда.И потом проверяю.
Я размещаю на стороннем сайте картинку от себя,потом чищу кеш ибо картинка эта хранится у меня в кеше браузера и он её подтянет оттуда.И потом проверяю.
Re: Защита хотлинк
Да вообщем то так же, только захожу еще в браузере режим инкогнито, и иду на сторонний сайт и выкладываю, выкладывал одну и туже картинку https://домен/000/u1/d4/42/b0fc5841.jpg и http://домен/000/u1/d4/42/b0fc5841.jpgyariksat wrote:Вы как проверяете работает оно или нет?
Я размещаю на стороннем сайте картинку от себя,потом чищу кеш ибо картинка эта хранится у меня в кеше браузера и он её подтянет оттуда.И потом проверяю.
Прям загадка какая-то =(
Re: Защита хотлинк
Вот мой конфиг полностью
Как видите в секции location у нас есть с Вами различия,у меня защита хотлинк вынесена в отдельную секцию.
Code: Select all
server {
listen xxx.xxx.xxx.xxx:443;
server_name domains.ru www.domains.ru;
ssl on;
ssl_certificate /home/admin/conf/web/ssl.domains.ru.pem;
ssl_certificate_key /home/admin/conf/web/ssl.domains.ru.key;
resolver 8.8.8.8 8.8.4.4;
resolver_timeout 10s;
spdy_keepalive_timeout 300;
spdy_headers_comp 9;
ssl_stapling on;
ssl_stapling_verify on;
ssl_dhparam /home/admin/conf/web/dhparam.pem;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
error_log /var/log/apache2/domains/domains.ru.error.log error;
location / {
proxy_pass https://xxx.xxx.xxx.xxx:8443;
}
location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|tif|tiff|css|js|htm|html|ttf|otf|webp|woff|txt|csv|rtf|doc|docx|xls|xlsx|ppt|pptx|odf|odp|ods|odt|pdf|psd|ai|eot|eps|ps|zip|tar|tgz|gz|rar|bz2|7z|aac|m4a|mp3|mp4|ogg|wav|wma|3gp|avi|flv|m4v|mkv|mov|mpeg|mpg|wmv|exe|iso|dmg|swf)$ {
root /home/admin/web/domains.ru/public_html;
valid_referers none blocked server_names ~(yandex|google|yahoo|bing|facebook|fbcdn);
if ($invalid_referer) {
rewrite (.*)\.(jpg|jpeg|png|gif)$ https://domains.net/images/hotlink.png;
}
access_log /var/log/apache2/domains/.domains.log combined;
access_log /var/log/apache2/domains/domains.ru.bytes bytes;
expires max;
try_files $uri @fallback;
}
location /error/ {
alias /home/admin/web/domains.ru/document_errors/;
}
location @fallback {
proxy_pass https://xxx.xxx.xxx.xxx:8443;
}
location ~ /\.ht {return 404;}
location ~ /\.svn/ {return 404;}
location ~ /\.git/ {return 404;}
location ~ /\.hg/ {return 404;}
location ~ /\.bzr/ {return 404;}
disable_symlinks if_not_owner from=/home/admin/web/domains.ru/public_html;
include /home/admin/conf/web/snginx.domains.ru.conf*;
}