我开始编写一个小型Web应用程序,并开始考虑保护登录(仅用于管理).
如果可以的话,我会安装一个CACert或自签名的SSL证书,因为现在我将是唯一一个登录的人,但我的主机不太适应.
没有SSL,是否有合理的选择来保护网站?我一直在考虑身份验证的选项:
在JavaScript中实现salted哈希.加载登录页面时,生成salt服务器端.以明文形式将其发送到客户端并将其存储在会话变量中.
摘要式身份验证.我刚刚发现这个想法浏览SO,这可能比滚动我自己的身份验证更合理.
OpenID的.这是一个开放的标准,不需要密码(我可以"劫持"我的OpenID提供商的SSL以增加登录过程的安全性),但我不知道OpenID如何工作或它有多安全.(需要研究.例如,可以重播OpenID身份验证吗?)
所有这些的问题是:
我可以想到在登录后保护应用程序的唯一选择是一些恶心的JavaScript和PHP来回发送加密的ASCII blob.我不想这样做.
浏览器是否支持加密(对于页面加载和POST)可以在我的服务器端脚本语言中实现,而不需要我的主机的祝福或参与?是否可以在没有SSL的情况下保护会话免受劫持(实际上)?
在这种情况下你会做什么?