编程语言
首页 > 编程语言> > 高效能程序员的修炼札记:安全基础,保护用户数据

高效能程序员的修炼札记:安全基础,保护用户数据

作者:互联网

前言:现如今,各种网站用户安全问题不断爆发,很多用户的密码被网站曝光出来,安全是互联网的一个老生常谈的话题,为什么用户的密码这么容易被破解呢,首先,作为我们开发者来说,我们要想尽办法提高用户数据的安全性,同时保证用户体验效果。  

所有网络通信都应该加密吗

很显然随着互联网的高速发展,在作者的眼里,https已经提高了很大的性能,实现ssl的通信已经变得不再让人那么沮丧,那么我们一般的网站可以尝试去使用https通信,不过https需要有ca的认证证书,需要花费一定的金钱,而如果不是CFCA签发的证书,浏览器在访问的时候会提醒你,证书不安全。  

防范字典式***

随着服务器能力的处理,相对于那些需要在网络上探索别人用户信息的网站来,其能力也得到了提高。如果你的密码长度是单纯的字母或者数字,并且长度有限,那么被破解已经变得轻而易举。   限制每个用户的登录次数是安全领域的101.   也许你可能不了解101,但是这句话的意思就是说,对于网站设计者来说,限制用户的登陆次数是行之有效的解决办法。我们的web管理后台就会限制用户的登陆次数,如果连续登陆五次都失败了,就会锁定用户,可以通过管理员解锁,也可能等到你下次登陆成功时解锁,并且会限定你在被锁定后多长时间内不得再次尝试。   以上的方法暂时是不赖的,但是作者还提出来一种新颖的办法,就是
第一次失败 没有延迟
第二次失败 延迟2s
第三次失败 延迟4s
第四次失败 延迟8s
我觉得这种方法更加人性化,给一些“真正”的用户去想起他们正确密码的机会,但同时降低暴力破解。  

快速哈希

看了本章我才明白,原来MD5的哈希算法已经这么落伍了,竟然很不安全了;另外密码如果只是单纯的数字或者字母的话,如果长度还不够的话,简直就等于没设置。   那么作为网站的设计者以及网络的使用者来说,我需要:  

关于网络密码的可怕真相

作为一个编程人员,我以前也经常会为每个网站保存一个密码,由于密码众多,我需要在电脑上保存一个用户名和密码,以及对应的网站,但是后来我抛弃了这些用户名和密码,因为他们用起来太过糟糕,我经常记不起来之前的密码。互联网的发展帮助我解决了这个问题,现如今,一些网站会让你通过QQ、新浪进行登录,而不再是它原始的用户名和密码,这让我感到有些许安全感,毕竟新浪和QQ的安全设施应该会更好一点。   所以你也要学会保护你的用户名和密码,尽量使用知名企业的用户名和密码去登录别的网站。   另外作为开发者,我在以后也要去提供这种机能。

标签:用户名,密码,网站,用户,通信,程序员,札记,https,高效能
来源: https://blog.51cto.com/u_2324584/3036336