Chặn hotlink hình ảnh Nginx không hiệu lực?


#1

Chào mọi người,

Mình đang sử dụng CentOS Linux release 7.1.1503 (Core), Wordpress, Nginx, Php-fpm, Memcached và Opcache. Sử dụng wordpress và plugin WP-FFPC.

Hiện tại mình bị 1 vấn đề rất nhức nhối, có 1 số trang web khác sử dụng hotlinking hình ảnh của web mình, nhưng không hiểu sao khi áp dụng các phương pháp hướng dẫn trên mạng đều không hiệu quả (mình muốn chặn từ tầng web server với phương pháp này )

location ~ .(gif|png|jpe?g)$ {
     valid_referers none blocked webcuaminh.com *.webcuaminh.com;
     if ($invalid_referer) {
        return   403;
    }
}

Nhưng hoàn toàn k thấy hiệu quả, khi vào trang web khác, hotlinking vẫn được, có cao thủ nào chống hotlinking cho Nginx giúp em với :frowning:


Chặn không cho người ta sài chung hình ảnh với mình
Chặn không cho người ta sài chung hình ảnh với mình
(Steve Diện) #2

location ~ .(gif|png|jpg)$ {
valid_referers none blocked crazytut.com *.crazytut.com;
if ($invalid_referer) {
return 403;
}
}
Mình chống bình thường mà hoặc bạn block cả thư mục luôn như blog của mình
location /static/images {
valid_referers none blocked crazytut.com *.crazytut.com;
if ($invalid_referer) {
return 403;
}
}


(Luân Trần) #3

Có khả năng bạn chưa restart Nginx nhỉ?


#4

Không hiểu sao mình không có cách nào làm được, đã thử cách của bạn block luôn thư mục wp-content :tear:

location /wp-content {
          valid_referers 8vbiz.com *.8vbiz.com;
          if ($invalid_referer) {
             return 403;
     }
}

Bất lực quá, không thể cài lại hệ điều hành mới chết, có cách nào khác ngoài $invalid_referer không nhỉ, vd: $http_referer ?


(M.Man) #5

Mình cũng bị giống như bác @kocoten1992, mình cài hocvps script mới nhất, (đã cài trên vultr và digital Ocean) chèn code của bác @lulzsecd Steve Diện

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

sau đó restart nginx

Nhưng vẫn không chống được hotlink :sob:, hình ảnh vẫn hiện bình thường (tốn băng thông quá). Anh Luân check lại thử xem :heart_eyes:


(Luân Trần) #6

Đoạn code này chuẩn đó, hoạt động hay không là do bạn đặt trong block nào nữa thôi


(M.Man) #7

Hi Luan, theo HocVPS Script, mình áp dụng cho domain111 và đặt đoạn code đó ở file cấu hình Nginx /etc/nginx/conf.d/domain111.xyz.conf

server {
……….
location ~ \.(jpe?g|png|gif)$ {
valid_referers none blocked domain111.xyz *.domain111.xyz;
if ($invalid_referer) {
return 403;
}
}
.......

Mình đã sửa được, phải đặt ở
server {
**

listen 2313;

**

Thank mọi người đã giúp đỡ.


(chupy) #8

Mình đặt ở đây đã đúng chưa ạ ?

Đoạn domain111.xyz << là domian của mình đúng ko ạ


(chupy) #9

Có cách nào chặn luôn cả text ko nhỉ :smiley:


(duy) #10
location ~* \.(gif|png|jpe?g)$ {
  expires 7d;
  valid_referers none blocked ~.google. ~.bing. ~.yahoo. server_names ~($host);
  if ($invalid_referer) {
    return 407;
  }
}

(Việt Phương) #11

Chặn all trừ các công cụ tìm kiếm à bạn. Thank nhé


(hoang) #12

còn có cách nào mình 404 hình ảnh ko nhỉ.
tức là ảnh đó trước đây mình có. sau đó mình xóa đi nhưng 1 số website nó vẫn dùng link đó. thì mình muốn nó chuyển về 1 ảnh mặc định của mình.
cám ơn bạn và mong nhận được chỉ điểm