2012-01-03 51 views
0

在我们的登录页面中,我们输入用户名密码,然后提交表单。密码将转到使用某种算法进行加密的服务器,然后保存到数据库。但是当它被发布到服务器时,它可以在萤火虫发布数据中看到。那么如何保证我在其他情况下也能看到类似的实现。从客户端到服务器的时间不能被困在它之间。难以理解登录机制密码安全性?

回答

3

Firebug可以看到密码,因为它充当客户端(通信路径的两个端点之一)上的代理。 SSL/TLS(https)加密两个端点之间传输的数据(将其视为一个受保护的隧道,其中唯一可以看到真实数据的方法是在其中一个端点处)。由于Firebug在客户端上运行,因此它可以访问数据未加密的端点。想想你可以将数据传入的隧道将在传输过程中得到保护; Firebug坐在隧道的入口处,以便看到进入(出来)的所有东西。

至少应该通过SSL/TLS发送密码(以及任何其他敏感数据),以防止某些不在通道端点上的人看到数据。理想情况下,您将希望通过https运行所有内容以防止会话劫持攻击(您可以阅读关于in the Wikipedia summary的所有信息)。任何不至少对证书交换(密码等)进行加密的站点都不符合行业最佳实践,应被视为不安全的实施。

+1

实际上,FireBug不能用作代理 - 通过代理的SSL/TLS隧道(从1.1开始),代理无法查看SSL数据。 Firebug可以在浏览器进程中看到密码,也就是说,它在通过SSL隧道加密之前查看数据*。 – AviD 2012-01-03 13:42:11

+1

不同类型的代理(或可能是对术语的错误使用)。它位于从用户流向服务器应用程序逻辑的通信路径中。虽然不是一个典型的/正式的HTTP代理(基于SSL/TLS终结点等),但它是一个功能,而且从用户的角度来看,它是一个功能。我将把语义作为另一个讨论。 :) – jeffsix 2012-01-03 13:47:06

+0

所以你的意思是在http上运行的所有网站,并要求密码登录是不安全的? – 2012-01-04 07:32:32

1

是的,你是对的。如果数据以明文形式发送到服务器,则可以在Transit中捕获数据。因此,请始终使用HTTPS连接。

+0

我正在使用https连接。此外,如果是这种情况,有人可以确定如此多的没有https网站 – 2012-01-03 13:01:51

+1

拇指规则是,使用HTTPS发送像信用卡号码,密码等机密信息。对于普通网站,这不是必需的。要回答您的下一个问题,维护HTTPS是件昂贵的事情。我发现了一个链接,可以帮助您理解相同的内容,在此之前,您需要了解公私钥加密的概念,以及证书颁发机构存在的原因以及设置相同的性能和成本问题。 http://answers.yahoo.com/question/index?qid=20070604161212AAsnSFX – Anil 2012-01-03 13:10:04