Php 什么';不使用SSL防止数据包嗅探的最佳方法是什么?

Php 什么';不使用SSL防止数据包嗅探的最佳方法是什么?,php,html,http,post,https,Php,Html,Http,Post,Https,我想保护我博客上的登录页面。当我的浏览器将我的密码发送到服务器(http)时,我不希望任何人窃取它。您将如何执行此操作?使用JS执行RSA。在将其发布到服务器之前对其进行加密。然后在到达服务器时对其进行解密据我所知,从生产角度来看,唯一真正做到这一点的方法是使用javascript对表单中发送的数据进行加密,然后在另一端对其进行解密 为此,似乎有几个JS类,例如。 jCryption使用RSA的公钥算法进行加密 然后,第三方数据包嗅探器必须知道解密密钥才能处理数据 不过,我建议对所有登录使用SS

我想保护我博客上的登录页面。当我的浏览器将我的密码发送到服务器(http)时,我不希望任何人窃取它。您将如何执行此操作?

使用JS执行RSA。在将其发布到服务器之前对其进行加密。然后在到达服务器时对其进行解密

据我所知,从生产角度来看,唯一真正做到这一点的方法是使用javascript对表单中发送的数据进行加密,然后在另一端对其进行解密

为此,似乎有几个JS类,例如。 jCryption使用RSA的公钥算法进行加密

然后,第三方数据包嗅探器必须知道解密密钥才能处理数据


不过,我建议对所有登录使用SSL!就我个人而言,我通过VPN隧道传输所有流量,因此我知道在公共场所使用VPN稍微安全一些。

您只能通过SSH隧道使用登录页面;)然而,我认为SSL的负担要轻得多


javascript的建议我不知道该怎么想。密钥必须在客户端和服务器之间共享,因此这也需要安全的密钥交换。这一点都不琐碎,我怀疑只有极少数真正好的图书馆。用javascript“加密”东西的基本建议肯定会失败。

如果你问我,我不会使用非SSL加密的登录。一旦涉及到会话,我就切换到SSL,因为没有SSL的会话窃取太容易了。SSL还允许我使用基本身份验证来保护我的页面,所以我甚至不需要会话

也许最好是考虑把你的博客完全转换为SSL。请注意,要在服务器上使用SSL,您只需要SSL证书。有一家公司提供
免费ssl证书
,每年0美元。还要注意的是,谷歌和所有主要搜索引擎都可以轻松处理
https
页面

我跳过了1000行关于如何在不安全的行上使用JavaScript和AJAX实现您自己的安全密码方案的答案,因为这很难实现

我想到了两个选项:如何在不使用JavaScript的情况下安全登录,以及如何在不使用SSL的情况下安全登录

  • 有一种便宜的一次性密码USB设备。您只需将其插入USB端口,按下按钮,它就会创建一个OTP,然后开始。由于它是一个OTP,所以只有一次是有效的,所以当它被嗅探时没有重播,也没有问题

  • 另一件事是
    OpenID
    ,它在这里用于stackoverflow。OpenID在服务器和客户端之间不需要SSL。请注意,上面的USB令牌也已启用OpenID

这两种方法都提供了一系列免费的库来使用PHP或其他语言实现它。这当然比在不安全的线路上自己创建一个设计合理、安全的密码方案更容易实现

然而,有一个重要的警告:


如果您在不安全线路上使用会话,并且登录通常使用会话,请确保至少通过IP地址保护会话。这必须在服务器端实现。这样,如果有人窃取了会话Cookie,会话将无法(ab)使用,前提是窃贼与您不共享同一wLAN(或计算机)。

我会使用SSL…如果我所在的主机不允许,则移动主机。SSL是健壮的、安全的、受良好支持的和经过良好测试的。事实上,SSL是一条必由之路。任何半生不熟的javascript驱动的自主加密方案都会变成另一个半生不熟的javascript驱动的自主加密方案。加强SSL的使用,这正是它设计的初衷。昨天讨论了类似的问题:有趣的想法!您是否已经在生产环境中实现了这一点?不太可能。因为我们总是使用SSL,这样更容易。:)