Vương quốc thực sự là gì trong xác thực cơ bản


307

Tôi đang thiết lập xác thực cơ bản trên một trang web php và thấy này trang trên hướng dẫn php hiển thị thiết lập. "Cõi" nghĩa là gì ở đây trong tiêu đề?

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

Đây có phải là trang trang đang được yêu cầu?

Câu trả lời:


284

Từ RFC 1945 (HTTP / 1.0)RFC 2617 (Xác thực HTTP được tham chiếu bởi HTTP / 1.1)

Thuộc tính cõi (không phân biệt chữ hoa chữ thường) là bắt buộc đối với tất cả các lược đồ xác thực gây ra thách thức. Giá trị cảnh giới (phân biệt chữ hoa chữ thường), kết hợp với URL gốc chuẩn của máy chủ được truy cập, xác định không gian bảo vệ. Các cảnh giới này cho phép các tài nguyên được bảo vệ trên một máy chủ được phân vùng thành một tập hợp các không gian bảo vệ, mỗi vùng có sơ đồ xác thực và / hoặc cơ sở dữ liệu ủy quyền riêng. Giá trị cảnh giới là một chuỗi, thường được gán bởi máy chủ gốc, có thể có thêm ngữ nghĩa cụ thể cho sơ đồ xác thực.

Nói tóm lại, các trang trong cùng một lĩnh vực sẽ chia sẻ thông tin đăng nhập. Nếu thông tin đăng nhập của bạn hoạt động cho một trang có vương quốc "Vương quốc của tôi" , thì nên giả sử rằng cùng một tên người dùng và mật khẩu kết hợp sẽ hoạt động cho một trang khác có cùng địa hạt.


7
Một số máy chủ không cung cấp một lĩnh vực trong các thách thức xác thực của họ.
orkoden

5
Khi tôi làm việc với IIS, tôi định cấu hình các vùng khác nhau cho các thư mục ảo khác nhau (trong cùng một trang). Nhưng tôi không chắc chắn nếu điều này là chính xác. Nhưng nó có vẻ làm việc cho tôi. Khi tôi truy cập một thư mục ảo cho một lĩnh vực khác, tôi đã nhận được thông báo xác thực.
smwikipedia

1
Lưu ý: RFC 2617 đã được cập nhật (KHÔNG lỗi thời) bởi RFC 7235
Hawkeye Parker

117

Một lĩnh vực có thể được xem như là một khu vực (không phải là một trang cụ thể, nó có thể là một nhóm các trang) mà thông tin đăng nhập được sử dụng; đây cũng là chuỗi sẽ được hiển thị khi trình duyệt bật lên cửa sổ đăng nhập, vd

Vui lòng nhập tên người dùng và mật khẩu của bạn cho <realm name>:

Khi vương quốc thay đổi, trình duyệt có thể hiển thị một cửa sổ bật lên khác nếu nó không có thông tin đăng nhập cho vương quốc cụ thể đó.


Làm thế nào để nhóm các trang dưới vương quốc?
Green

@Green Việc .htaccessđi theo phân cấp, vì vậy bất cứ điều gì trong một thư mục nhất định đều có thể được đưa ra cùng một lĩnh vực.
Ja͢ck

1
@Jack, tôi ngây thơ nghĩ rằng tất cả các trang có tiêu đề xác thực với một lĩnh vực nhất định đều ở trong vương quốc đó và không có quy tắc nào khác. Liệu tôi có sai?

15

Theo RFC 7235 , realmtham số được dành riêng để xác định không gian bảo vệ (tập hợp các trang hoặc tài nguyên bắt buộc phải có thông tin xác thực) và được sử dụng bởi các sơ đồ xác thực để chỉ ra phạm vi bảo vệ .

Để biết thêm chi tiết, xem trích dẫn bên dưới (những điểm nổi bật không có trong RFC):

2.2. Không gian bảo vệ (Vương quốc)

Tham số xác thực "vương quốc" được dành riêng để sử dụng bởi các lược đồ xác thực muốn chỉ ra phạm vi bảo vệ .

Một không gian bảo vệ được xác định bởi URI gốc chính tắc (các thành phần lược đồ và quyền hạn của URI yêu cầu hiệu quả) của máy chủ đang được truy cập, kết hợp với giá trị cảnh giới nếu có. Các cảnh giới này cho phép các tài nguyên được bảo vệ trên một máy chủ được phân vùng thành một tập hợp các không gian bảo vệ, mỗi vùng có sơ đồ xác thực và / hoặc cơ sở dữ liệu ủy quyền riêng. Giá trị cảnh giới là một chuỗi, thường được gán bởi máy chủ gốc, có thể có ngữ nghĩa bổ sung cụ thể cho sơ đồ xác thực. Lưu ý rằng một phản hồi có thể có nhiều thách thức với cùng một sơ đồ xác thực nhưng với các cảnh giới khác nhau. [...]


Lưu ý 1: Khung xác thực HTTP hiện được xác định bởi RFC 7235 , cập nhật RFC 2617 và làm cho RFC 2616 trở nên lỗi thời.

Lưu ý 2: Các realmthông số không còn luôn luôn cần thiết về những thách thức .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.