我想通过在URL中提供用户名和密码,让用户有机会进行按请求身份验证.由于请求是安全的,我对此没有任何顾虑.
我尝试http://user:password@localhost/使用通常的浏览器调用该请求(Firefox,Chrome,Safari和Opera是我测试的那些),我得到了401回复.当我尝试相同的URI,但这次提供的凭证像HTTP-header一样Authentication: Basic dXNlcjpwYXNzd29yZA==,它起作用了.
在搜索时,我找到了另一个问题的答案:https://serverfault.com/questions/371907/can-you-pass-user-pass-for-http-basic-authentication-in-url-parameters#answer -371918
这个答案声称,浏览器应该自动从URL中提供的凭据生成Authentication头.
使用curl在命令行上尝试时,它可以正常工作.那么,为什么它在浏览器中不起作用?
这与安全性有关吗?
Firefox是唯一一个声称:
您即将使用用户名"user"登录"localhost"站点,但该网站不需要身份验证.这可能是一种欺骗你的尝试.
"localhost"是您要访问的网站吗?
但是当通过单击是确认此请求时,它会在没有凭据的情况下发送请求.至少,我无法在萤火虫的网络标签中看到它们......响应也是401.