Url 根据w3c规范,用户名或密码中可以有散列吗?
使用基本身份验证创建url时:Url 根据w3c规范,用户名或密码中可以有散列吗?,url,passwords,standards,w3c,Url,Passwords,Standards,W3c,使用基本身份验证创建url时: https://username:password@someurl.com/some/api/path 如果用户名或密码包含#散列符号,则该符号有效还是无效?散列通常位于URL的末尾,因此我不确定它是否是用户名和/或密码中使用的有效字符 从w3c url规范我看不出来。。。上面说,username和password应该是alphanum2,我不知道这到底是什么意思 如今,我们被鼓励更经常地仔细选择更复杂的密码,包括特殊字符,如哈希。它在下面几行定义: alph
https://username:password@someurl.com/some/api/path
如果用户名
或密码
包含#
散列符号,则该符号有效还是无效?散列通常位于URL的末尾,因此我不确定它是否是用户名和/或密码中使用的有效字符
从w3c url规范我看不出来。。。上面说,username
和password
应该是alphanum2
,我不知道这到底是什么意思
如今,我们被鼓励更经常地仔细选择更复杂的密码,包括特殊字符,如哈希。它在下面几行定义:
alphanum2 alpha | digit | - | _ | . | +
因此,答案显然是否定的
此外:
如今,我们被鼓励更经常地仔细选择更复杂的密码,包括像散列这样的特殊字符
是的,当然您可以将它们用于HTTP基本身份验证,但是您不能通过URL登录(警告:请注意,要在HTTP/HTTPS URI中使用userinfo
子组件,通常所有URI的格式都是username:password
)
HTTPS URI方案是,它引用RFC 3986来定义
authority
组件可以包含,其语法定义为:
在中,可以查找这些零件的定义方式。总而言之,以下是允许的字符:
-a
,z
-a
z
-0
9
-
。
~
代码>
$
&
”
(
)
*
+
,
代码>
=
:
- 任何
userinfo
子组件中使用#
,但可以以百分比编码形式(%23
)使用它,例如,对于foo#bar
:
https://foo%23bar@example.com/some/api/path
userinfo = *( unreserved / pct-encoded / sub-delims / ":" )