기본 인증의 "영역"은 무엇입니까


307

나는 PHP 사이트에서 기본 인증을 설정하고 발견하고있어 하고 PHP 매뉴얼 페이지를 습니다. 헤더에서 "영역"은 무엇을 의미합니까?

header('WWW-Authenticate: Basic realm="My Realm"');

요청중인 페이지 페이지입니까?

답변:


284

RFC 1945 (HTTP / 1.0)RFC 2617 (HTTP / 1.1에서 HTTP 인증 참조)에서

인증 정보를 발급하는 모든 인증 체계에 영역 속성 (대소 문자 구분)이 필요합니다. 액세스되는 서버의 표준 루트 URL과 함께 영역 값 (대소 문자 구분)이 보호 공간을 정의합니다. 이러한 영역을 사용하면 서버의 보호 된 자원을 각각 자체 인증 체계 및 / 또는 권한 부여 데이터베이스가있는 일련의 보호 공간으로 분할 할 수 있습니다. 영역 값은 일반적으로 오리진 서버에 의해 할당 된 문자열이며, 인증 체계에 특정한 추가 의미가있을 수 있습니다.

요컨대, 같은 영역의 페이지는 자격 증명을 공유해야합니다. "My Realm" 영역이있는 페이지에서 자격 증명이 작동하는 경우 동일한 영역의 다른 페이지에 대해 동일한 사용자 이름과 암호 조합이 작동한다고 가정해야합니다.


7
일부 서버는 인증 문제에서 영역을 제공하지 않습니다.
orkoden

5
IIS로 작업 할 때 다른 사이트 (같은 사이트 아래)에 대해 다른 영역을 구성합니다. 그러나 이것이 올바른지 확실하지 않습니다. 그러나 그것은 나를 위해 일하는 것 같습니다. 다른 영역의 가상 폴더를 방문하면 자격 증명을 묻는 메시지가 나타납니다.
smwikipedia

1
참고 : RFC 2617에 의해 (폐기 NOT) 업데이트 된 RFC 7235
호크 아이 파커

117

영역은 자격 증명이 사용되는 영역 (특정 페이지가 아니라 페이지 그룹 일 수 있음)으로 볼 수 있습니다. 이것은 또한 브라우저가 로그인 창을 띄울 때 표시되는 문자열입니다. 예 :

에 대한 사용자 이름과 비밀번호를 입력하십시오 <realm name>:

영역이 변경되면 해당 영역에 대한 자격 증명이없는 경우 브라우저에 다른 팝업 창이 표시 될 수 있습니다.


영역에서 페이지를 그룹화하는 방법은 무엇입니까?
Green

@Green .htaccess계층 구조로 진행되므로 특정 디렉토리에있는 모든 항목에 동일한 영역을 부여 할 수 있습니다.
Ja͢ck

1
@ 잭, 나는 주어진 영역의 인증 헤더가있는 모든 페이지가 그 영역에 있으며 다른 규칙이 없다고 순진하게 생각했습니다. 내가 잘못?

15

RFC 7235 에 따르면 이 realm매개 변수는 보호 공간 (자격 증명이 필요한 페이지 또는 자원 세트) 을 정의 하기 위해 예약 되어 있으며 인증 범위에서 보호 범위 를 나타내는 데 사용됩니다. .

자세한 내용은 아래 인용문을 참조하십시오 (RFC에는 강조 표시가 없음).

2.2. 보호 공간 (Realm)

"영역"인증 매개 변수는 보호 범위를 나타내려는 인증 체계 에서 사용하도록 예약되어 있습니다. .

보호 공간은 존재하는 경우 영역 값과 결합하여 액세스되는 서버의 표준 루트 URI (실제 요청 URI의 체계 및 권한 구성 요소)에 의해 정의됩니다. 이러한 영역을 사용하면 서버의 보호 된 자원을 각각 자체 인증 체계 및 / 또는 권한 부여 데이터베이스가있는 일련의 보호 공간으로 분할 할 수 있습니다. 영역 값은 일반적으로 오리진 서버에 의해 할당 된 문자열로, 인증 체계에 고유 한 추가 의미를 가질 수 있습니다. 응답에는 인증 체계가 동일하지만 영역이 다른 여러 가지 문제가있을 수 있습니다. [...]


참고 1 : HTTP 인증을위한 프레임 워크는 현재 RFC 7235에 의해 정의되며 RFC 2617 을 업데이트 하고 RFC 2616을 폐기합니다.

주 2 :realm 매개 변수가 더 이상 항상 필요하지 않습니다 도전 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.