nginx 사이트 도 난 방지 체인

nginx 모듈 ngxhttp_referer_module 은 보통 원본 의 불법 도 메 인 이름 요청 을 막 는 데 사 용 됩 니 다. 명심 해 야 합 니 다.다음은 nginx 가 refer 명령 을 이용 하여 도 난 방지 체인 설정 을 실현 하 는 관련 자 료 를 소개 한다.그림 도 난 방지 체인 인 스 턴 스 실현
    location ~* \.(gif|jpg|png|webp)$ {
        root /opt/www/image; 
            valid_referers none blocked domain.com *.domain.com server_names ~\.google\. ~\.baidu\.;
                if ($invalid_referer) {
                    return 403;
                    #rewrite ^/ http://www.domain.com/403.jpg;
                }
       #      nginx         ,   404   
     }
  • domain. com 과 도 메 인, baidu 와 google 에 오 는 모든 사이트 에서 현재 사이트 의 그림 을 방문 할 수 있 습 니 다. 원본 도 메 인 이름 이 이 목록 에 없 으 면 $invalidrefer 는 1 과 같 습 니 다. if 구문 에서 403 을 사용자 에 게 되 돌려 줍 니 다. 그러면 사용 자 는 403 페이지 를 볼 수 있 습 니 다. 아래 rewrite 를 사용 하면 도 킹 그림 은 403. jpg 를 표시 합 니 다.
  • none 규칙 은 빈 refer 접근 을 허용 합 니 다. 즉, 브 라 우 저 에서 직접 그림 을 열 면 refer 가 비어 있 을 때 그림 이 정상적으로 표 시 됩 니 다. 도 메 인 이름 이 아 닌 IP 주소 로 접근 하면 IP 주 소 를 직접 쓰 면 됩 니 다.

  • 테스트:
        [root@loya ~]# curl -I http://qingkang.me/1.jpg -H 'Referer:http://www.baidu.com'  #-I        ,-H          
        HTTP/1.1 200 OK
        Server: nginx/1.8.1
        Date: Fri, 16 Dec 2016 14:56:51 GMT
        Content-Type: image/jpeg
        Content-Length: 17746
        Last-Modified: Tue, 16 Aug 2016 03:20:21 GMT
        Connection: keep-alive
        ETag: "57b28675-4552"
        Accept-Ranges: bytes
        [root@loya ~]# curl -I http://qingkang.me/1.jpg -H 'Referer:http://www.qq.com'
        HTTP/1.1 403 Forbidden
        Server: nginx/1.8.1
        Date: Fri, 16 Dec 2016 14:56:58 GMT
        Content-Type: text/html; charset=utf-8
        Content-Length: 168
        Connection: keep-alive

    명령:
          : valid_referers none | blocked | server_names | string …;
           : server, location
               'referer',         $invalid_referer  ,  referer             ,        0,     1.       :          .

    매개 변수 설명:
        none :“Referer”        
        blocked :“Referer”   ,                 ,      http://  https://  ,  “Referer: XXXXXXX”    
        server_names :“Referer”         server_names(    )
        arbitrary string :     ,           URI  .       *      ,            ,                
        regular expression:      ,~    https:// http://      .

    주의: Refer 를 통 해 도 난 방지 체인 의 비교 기 초 를 실현 하고 방식 자원 만 간단하게 도 용 될 수 있 습 니 다.구조 Referer 의 요청 은 쉽게 이 루어 집 니 다.

    좋은 웹페이지 즐겨찾기