在HTTPS URL中以纯文本形式传递登录凭据是否安全?

在HTTPS URL中以纯文本形式传递登录凭据是否安全?,https,Https,在HTTPS URL中以纯文本形式传递登录凭据是否安全 https://domain.com/ClientLogin?Email=jondoe@gmail.com&Passwd=123password 更新:假设这不是在浏览器中输入的,而是通过编程生成的,并通过POST请求(不是GET请求)进行请求。安全吗 解决方案: 在GET请求中使用此类URL(即在浏览器中键入URL)是不安全的,因为请求的URL将保存在浏览器历史记录和服务器日志中 但是,作为POST请求提交到https://domain.

在HTTPS URL中以纯文本形式传递登录凭据是否安全

https://domain.com/ClientLogin?Email=jondoe@gmail.com&Passwd=123password

更新:假设这不是在浏览器中输入的,而是通过编程生成的,并通过POST请求(不是GET请求)进行请求。安全吗

解决方案: 在
GET
请求中使用此类URL(即在浏览器中键入URL)是不安全的,因为请求的URL将保存在浏览器历史记录和服务器日志中

但是,作为
POST
请求提交到
https://domain.com/ClientLogin
(即提交表单),同时将凭证作为
帖子正文
的一部分传递,因为
帖子正文
在连接到请求的URL后进行加密和发送。因此,表单操作将是
https://domain.com/ClientLogin
和表单字段值将在
帖子正文中传递

以下是一些帮助我更好理解这一点的链接:


否。它们在运输途中不会被看到,但会留在:

  • 浏览器历史记录
  • 服务器日志
如果可能的话,在身份验证时使用HTTPS上的POST,然后设置一个“已验证”的cookie,或者使用HTTPS上的HTTP摘要授权,甚至HTTPS上的HTTP基本身份验证-但是无论您做什么,都不要将机密/敏感数据放在URL中

编辑:当我写“使用POST”时,我的意思是“在POST字段中通过HTTPS发送敏感数据”。发送
帖子http://example.com/ClientLogin?password=hunter2
每一点都和GET发送一样错误


TL;DR:不要在URL中输入密码。曾经。

在url参数中传递登录信息是不安全的,即使使用SSL也是如此

使用SSL在帖子正文中传递登录信息被认为是安全的


如果使用SSL,请考虑HTTP基本身份验证。虽然没有SSL这是一个可怕的问题,但它并不比使用凭据的POST更糟糕,它实现了您想要的功能,但它是根据一个既定的标准而不是自定义字段名来实现的。

可能重复,因此在POST请求中将凭据作为参数传递时被认为是安全的?@Andrew:如果它们是POST参数(因此不在URL中),然后是的。编辑以反映这一点。这就是我试图弄明白的。谢谢!嗨@PiskvorleftttheBuilding我知道这是一篇旧文章,但我一直想知道事情是否发生了变化?此外,使用HTTPS传递URL参数的效果如何?是否仍然被认为是不安全的?问题仍然存在。URL被认为是不敏感的与请求机构相反,将个人/敏感数据放入URL现在更成问题,因为GDPR和诸如此类的东西。在传输过程中窥探只是一个小问题。