什么是“真正的”;在基本认证中

我在一个php网站上设置基本的身份验证,并在php手册上找到页面显示设置。“realm”在header中是什么意思?

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

是被请求的页面吗?

303059 次浏览

来自RFC 1945 (HTTP/1.0)RFC 2617 (HTTP认证被HTTP/1.1引用)

域属性(不区分大小写)对所有对象都是必需的 发出质询的认证方案。领域价值 的规范根URL结合使用 被访问的服务器定义了保护空间。这些领域 允许将服务器上受保护的资源划分为一个集 的保护空间,每个保护空间都有自己的身份验证方案和/或 授权的数据库。域值通常是一个字符串 由源服务器分配,它可能有额外的语义

.指定认证方案

简而言之,同一领域中的页面应该共享凭证。如果您的凭证适用于具有“我的Realm"领域的页面,则应该假定相同的用户名和密码组合应该适用于具有相同领域的另一个页面。

领域可以被视为使用凭证的区域(不是特定的页面,可以是一组页面);这也是浏览器弹出登录窗口时将显示的字符串,例如。

请输入您的用户名和密码<realm name>:

当领域发生变化时,如果浏览器没有特定领域的凭据,它可能会显示另一个弹出窗口。

根据RFC 7235realm参数保留用于定义保护空间(需要凭据的页面或资源集),并由身份验证方案使用来指示保护范围

要了解更多细节,请参阅下面的报价(RFC中没有重点内容):

2.2。保护空间(Realm) .

< p >“realm"认证参数保留给使用 希望指明保护范围的认证方案.

.

. 保护空间由规范的根URI (scheme . URI)定义 和有效请求URI的权限组件) 所访问的服务器的 域值(如果存在)。这些域允许被保护 将服务器上的资源划分为一组保护 空间,每个空间都有自己的身份验证方案和/或授权 数据库。域值为字符串,通常由 源服务器,它可以具有特定于 身份验证方案。注意,响应可以有多个 挑战使用相同的auth-scheme,但使用不同的领域。[…]< / p >

注1: HTTP认证框架目前由RFC 7235定义,它更新了RFC 2617,并使RFC 2616过时。

注2:challenges时不再总是需要realm参数。