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

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

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


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


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

https不再是奢侈品(CPU的运算能力得到了提高,我们都知道,使用https通信需要使用到加密算法,而加密算法一般都比较耗时,然而伴随着摩尔定理,计算机处理能力在发展,那么使用https通信将不会降低用户的体验能力)

https意味着没人能在互联网监视你(我略微了解一些http和https的区别,就是https底层是通过ssl对客户端到服务端传递的数据进行加密处理,这样就保证你的数据在网络传输过程中不再透明)

https现在变得更快了(虽然https在这座看来还有很多亟待解决的问题,但是的确实现https通信已经变得非常可行,我最近在实现期货交易平台和华夏银行的对接,使用的https通信方式也让我获得不少在https通信上的经验)


防范字典式攻击


随着服务器能力的处理,相对于那些需要在网络上探索别人用户信息的网站来,其能力也得到了提高。如果你的密码长度是单纯的字母或者数字,并且长度有限,那么被破解已经变得轻而易举。


限制每个用户的登录次数是安全领域的101.


也许你可能不了解101,但是这句话的意思就是说,对于网站设计者来说,限制用户的登陆次数是行之有效的解决办法。我们的web管理后台就会限制用户的登陆次数,如果连续登陆五次都失败了,就会锁定用户,可以通过管理员解锁,也可能等到你下次登陆成功时解锁,并且会限定你在被锁定后多长时间内不得再次尝试。


以上的方法暂时是不赖的,但是作者还提出来一种新颖的办法,就是

第一次失败

没有延迟

第二次失败

延迟2s

第三次失败

延迟4s

第四次失败

延迟8s

我觉得这种方法更加人性化,给一些“真正”的用户去想起他们正确密码的机会,但同时降低暴力破解。


快速哈希


看了本章我才明白,原来MD5的哈希算法已经这么落伍了,竟然很不安全了;另外密码如果只是单纯的数字或者字母的话,如果长度还不够的话,简直就等于没设置。


那么作为网站的设计者以及网络的使用者来说,我需要:

密码长度超过12位,并且包含大小写字母、数字、特殊符号

使用PBKDF2或者bcrypt。


关于网络密码的可怕真相


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


所以你也要学会保护你的用户名和密码,尽量使用知名企业的用户名和密码去登录别的网站。


另外作为开发者,我在以后也要去提供这种机能。

相关文章
|
2月前
|
弹性计算 Java 程序员
推荐程序员必知的四大神级学习网站
今天给大家整理一些小编经常学习和访问的学习网站,供大家参考学习。
|
8月前
|
消息中间件 大数据 Kafka
如何用大数据技术搭建一个高效的搬砖系统?
如何用大数据技术搭建一个高效的搬砖系统?
|
9月前
|
存储 编译器 数据处理
数据掌控大师:C++ 数据处理艺术与技巧
数据掌控大师:C++ 数据处理艺术与技巧
|
12月前
|
搜索推荐 Java 程序员
只有一个程序员开发和运营,BuiltWith网站年入1400万美元是怎么做到的?
国外有一位程序员叫 Gary Brewer,他一人撑起了一个公司,这个公司还年入 1400 万美元,约人民币 1 亿元。对此,你是啥想法?
116 0
|
前端开发 程序员 开发者
开发者要想走更好的出路必须选全栈工程师这条路吗?
虽然说“技多不压身”,“术业有专攻”,但是作为程序员,尤其是做业务场景的开发者来说,并不是会的面越广越好,而且现在的技术迭代速度太快,不管是前端领域还是后端领域,技术栈或者技术框架更新迭代的周期越来越短、越来越快,学习成本越来越大,尤其是要做资深的全栈工程师,需要学的知识是非常的多,而且还需要各个方面的时间沉淀,考虑到人的精力会随着年龄的增长而递减,成反比例,所以虽然全栈工程师有着丰富的工作从业经验和经历,但是如果想要具备各个方面都差不多,难度是很大的。
162 1
开发者要想走更好的出路必须选全栈工程师这条路吗?
国外经典神作:领域驱动设计软件核心复杂性应对之道手册限时阅读
相信领域驱动设计这个对有些小伙伴来说很陌生,领域驱动设计(Domain Driven Design,DDD)自诞生以来已有十几年时间,这门本已步入老年的方法学却因为微服务的兴起而焕发了第二春。并不是微服务拯救了领域驱动设计,是因为领域驱动设计一直在坚硬的生长,然而看起来,确乎因为微服务,领域驱动设计才又焕发了青春。
国外经典神作:领域驱动设计软件核心复杂性应对之道手册限时阅读
|
安全 算法 程序员
高效能程序员的修炼札记:安全基础,保护用户数据
高效能程序员的修炼札记:安全基础,保护用户数据
93 0
|
大数据 程序员
高效能程序员的修炼札记:创建和管理社区
高效能程序员的修炼札记:创建和管理社区
87 0
如何用简单的方式获取C端用户,实力派王素杰说要从B端做起|靠才华
在线教育作为o2o的巨大分支,一个曾经非常显著的优势是提供了新的传播途径。一根网线连接名师和用户,使得老师的个人能力不再局限于地域,用户的学习方式也不再局限于传统课堂。
386 0
|
域名解析 存储 安全
让理想中的企业级站点开发走进大众 - ServerlessDevs 1024特别奉献
本篇文章像大家介绍一下,如何使用serverless devs 结合云产品实现一个具备 高安全,高性能,高体验,高容灾,低成本的web站点
181 0
让理想中的企业级站点开发走进大众 - ServerlessDevs 1024特别奉献