处理HTTP身份验证时,如何在URL上使用特殊字符(密码)?

时间:2014-03-20 20:22:31

标签: .htaccess http basic-authentication

我有一个受基本HTTP身份验证保护的目录。

当我访问其URL时,浏览器会要求我输入用户名和密码。

我的密码为Cw=y?qUPP+Xy,工作正常。

但是,我想直接使用网址上的用户名和密码访问它。

我试过了:

https://user:Cw=y?qUPP+Xy@example.com,由于某些原因谷歌浏览器返回此内容无效:

enter image description here

有解决方法吗?

1 个答案:

答案 0 :(得分:5)

您需要对其进行URL编码 例如,“@”将变为“%40”

但请注意,通过HTTP和/或通过GET(查询字符串中的参数)发送用户和密码不是一个好主意...尝试在HTTPS下使用POST方法。

我会继续将此评论添加到此答案中,以获取可见性:

即使它是本地网络并且您使用HTTPS,通过GET发送密码也是不安全的...想象一下,我是管理员而有人在我身后(谁不是管理员),当我提交表单时可以直接检查URL并知道我的密码。不是个好主意,对吗?

就像使用<input type="text"/>而不是<input type="password"/>作为密码。