由于CGI的限制,我的Web服务器不允许使用
使用POST以明文形式发送密码是不可行的:捕获数据包并查看标头会显示密码。所以我可以先对密码进行哈希处理。但是,截取数据包并复制哈希和用户名的人仍然可以使用此信息登录,对吗?
通过使用时间戳使哈希动态化可以防止复制哈希。将密码作为
如何在注册时安全地将此密码传输到服务器?
然后,有HTTPS,需要SSL证书,但我没有这个证书(还不值得花这些钱?)。
有什么想法吗?
附言:最终我想对我的Web服务器进行Android应用程序身份验证。
PHP_AUTH_USER
和PHP_AUTH_PW
关键字(参见Col. Shrapnel在“PHP_AUTH_USER not set?”中的解释),因此我正在研究其他发送用户密码到服务器的方法。使用POST以明文形式发送密码是不可行的:捕获数据包并查看标头会显示密码。所以我可以先对密码进行哈希处理。但是,截取数据包并复制哈希和用户名的人仍然可以使用此信息登录,对吗?
通过使用时间戳使哈希动态化可以防止复制哈希。将密码作为
(timestamp + hash(password+timestamp))
发送(Last.FM使用类似的方法)。然后服务器可以减去时间戳(检查是否过期之类的),并使用已知密码进行哈希处理,并检查它们是否相同。但是,密码必须为服务器所知,因此问题仍然存在:如何在注册时安全地将此密码传输到服务器?
然后,有HTTPS,需要SSL证书,但我没有这个证书(还不值得花这些钱?)。
有什么想法吗?
附言:最终我想对我的Web服务器进行Android应用程序身份验证。