我正在考虑从登录页面传输登录名和密码时增加安全性。 我在互联网上发现了一个javascript md5函数,所以发送密码的第一种方法是使用POST方法发送md5散列代替密码。 据我所知,仍然有很多问题,该方法应该改进。 未存储数据库中的密码,只存储md5散列(其他函数也用于使其复杂化)。 但是,我的问题是:从托管服务提供商更喜欢ssl加密是否有意义或更好?它每年花费大约100美元(假设对于我的问题来说价格很合理),而不是重新发明轮子。 ssl的负值(如果我没有错的话)是:如果登录部分位于主页面上,主页面将加载速度较慢(尽管雅虎登录页面使用https加载的速度相当快),并且任何用户都将在浏览器中看到https字符串(这不是坏事,但它是好?)安全登录页面:javascript md5函数vs SSL,如果登录块位于主页面
是怎样的主意,用(无SSL): 1)wher中,MD5用户登录(密码)发送的,而不是他的真实密码 2)服务器接收md5(密码),使其成为md5(md5(密码)+'kjhgkjhg'),并与存储在db中的散列进行比较。 db为所有用户存储md5(md5(密码)+'kjhgkjhg')散列值。 因此,如果md5(密码)被嗅探,它将无助于获取md5(md5(密码)+'kjhgkjhg'),因为'kjhgkjhg'未知。 这是一个很好的方式来保证登录页面的安全吗?
谢谢。
是的,它确实更有意义。使用SSL *至少*。并且不要依赖Javascript来处理服务器获取的页面。不要使用'md5',它被认为对于密码哈希来说太弱。 –
您是否建议从主页面中删除登录块,然后使用http作为主页面并使用https登录页面(即主页面中的另一页面)...谢谢。 – Haradzieniec
认为向服务器发送MD5哈希比发送纯文本密码要好很多。见:http://stackoverflow.com/q/5724683/476 – deceze