>  기사  >  운영 및 유지보수  >  Nginx 도메인 간 액세스 및 안티 리칭을 구성하는 방법

Nginx 도메인 간 액세스 및 안티 리칭을 구성하는 방법

WBOY
WBOY앞으로
2023-05-13 18:31:121670검색

교차 도메인 액세스 제어

교차 도메인 액세스

Nginx 도메인 간 액세스 및 안티 리칭을 구성하는 방법

브라우저가 도메인 간 액세스를 금지하는 이유

안전하지 않으며 CSRF 공격에 취약합니다!

Nginx 도메인 간 액세스 및 안티 리칭을 구성하는 방법

해커가 제어하는 ​​웹사이트 b가 클라이언트가 웹사이트 a에 액세스할 수 있도록 응답 헤더에 악성 정보를 추가하면 csrf 공격이 발생합니다

nginx 도메인 간 액세스 구성 방법

add_header 구문

  • syntax:add_header 이름 값 [항상];

  • default:—

  • context:http, server, location, if in location

구문 설명:

  • add_header 이름 값 [ 항상] ; EName은 응답 헤더에 반환된 key

  • 값이 해당 Value

  • add_header 응답 헤더의 도메인 간 구성을 나타냄을 의미합니다.

  • 리소스가 잘못 사용되는 것을 방지합니다.

비정상적인 사용자 접속 방지, 웹 사이트 리소스 점유, 웹 사이트 성능에 영향을 미치고 정상적인 사용자 접속에 필연적으로 영향을 미침


http_referer 안티 핫링크 구성 모듈을 기반으로

    ngx_http_referer_module 모듈은 "referer"를 방지하는 데 사용됩니다. " 사이트 접속을 요청한 헤더 필드에 잘못된 값이 있습니다.
  • location ~ .*\.(htm|html)$ {
      add_header access-control-allow-origin *;
      add_header access-control-allow-methods get,post,put,delete,options;
      root /opt/app/code;
    }
  • referer_hash_bucket_size 구문

syntax:referer_hash_bucket_size size;

default:referer_hash_bucket_size 64;

컨텍스트: 서버, 위치

    문법 설명:
  • referer_hash_bucket_size 크기를 의미합니다. 유효한 참조 해시 테이블의 저장 크기를 설정합니다.

  • referer_hash_max_size 구문

  • syntax:referer_hash_max_size 크기;

default:referer_hash_max_size 2048;

컨텍스트: 서버, 위치

    구문 설명:
  • referer_hash_max_size 크기는 유효한 리퍼러 설정을 의미합니다. 해시 테이블의 최대 크기입니다.

  • valid_referers 구문

  • syntax: valid_referers 없음 | server_names | ...;

컨텍스트: 서버, 위치


설명:

    valid_referers 없음 | 차단됨 | server_names | 문자열 ...;
  • none은 요청 헤더에 "참조자" 필드가 없음을 의미합니다. 그러나 그 값은 방화벽이나 프록시 서버에 의해 제거되었습니다. 이 값은 "http://" 또는 "https://"로 시작하지 않는 문자열입니다.
  • server_names는 "참조자" 요청을 의미합니다. 헤더 필드에는 서버 이름이 포함됩니다.
  • 문자열은 서버 이름과 선택적 URI 접두사를 정의하는 것을 의미합니다. 서버 이름의 시작이나 끝에 "*"가 포함될 수 있습니다. "referer" 필드의 서버 포트는 검사 중에 무시됩니다.

  • Anti-hotlink small case

  • touch test_referer.html(/op/app/code 디렉토리 아래)

    valid_referers none blocked server_names
     
            *.example.com example.* www.example.org/galleries/
     
            ~\.google\.;
     
    if ($invalid_referer) {
     
      return 403;
     
    }

  • 구성 안티 핫링크가 www.zhangbiao.com 도메인 이름에서 전송되지 않으면 오류가 보고됩니다.

    <html>
    <head>
      <meta charset="utf-8">
      <title>imooc1</title>
    </head>
    <body style="background-color:red;"><br data-filtered="filtered">   <h1>张彪</h1>
      <img  src="http://192.168.1.112/wei.png"/ alt="Nginx 도메인 간 액세스 및 안티 리칭을 구성하는 방법" >
    </body>
    </html>
  • Access
  • location ~ .*\.(jpg|gif|png)$ {
      valid_referers none blocked www.zhangbiao.com;
      if ($invalid_referer) {
        return 403;
      }
      root /opt/app/code/images;
    }
    location ~ /test_refer.html {
      root /opt/app/code;
     
    }

  • Access

    http://192.168.1.112/test_refer.html

다른 웹사이트가 귀하의 웹사이트 리소스에 접근할 수 있도록 허용합니다 구성

위 내용은 Nginx 도메인 간 액세스 및 안티 리칭을 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제