[http] 기본 인증의 “영역”은 무엇입니까

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

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

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



답변

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

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

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


답변

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

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

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


답변

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

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

2.2. 보호 공간 (Realm)

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

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


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

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


답변