31 | 防人之心不可无:网站安全问题窥视
四火

你好,我是四火。
今天,我们来学习一些网站安全的基础知识。作为一名 Web 全栈工程师,不可避免地会经常性地面对网站安全的问题,因此有关安全的学习是十分必要的。这一讲我们就来看一些常见的安全问题,并了解它们相应的解决办法,加强安全意识。
鉴权和授权
我把这两个概念的比较放在开头,是因为这两个概念有相关性且很常用,还有就是这二者太容易被混用了,但是实际上,它们却又是大不相同的。鉴权,Authentication,指的是对于用户身份的鉴别;而授权,Authorization,指的是允许对于特定资源的指定操作。
我们可以借助具体的例子来深入了解。
先说说鉴权。网站的登录系统,输入正确的用户名和密码以便登陆,这个过程就是一个鉴权参与的过程。输入了正确的用户名和密码,系统就能够确认用户的身份,鉴权也就成功了。再比如我们在 [第 02 讲] 中介绍的 HTTPS 通信,其中的密钥也是起到了“鉴别身份”的作用,这个起作用的过程也属于鉴权。
为了安全考虑,在实际应用中鉴权有时不是靠“单因子”(Single-Factor)就够了的,我们还会采用“多因子”(Multi-Factor)的方式。
举个例子,银行转账的时候,你光输入账号和转账密码,这是属于单因子,一般是不够的,还必须有其它的因子,比如说 U 盾等等。多个因子之间一般要求是独立的,无依赖关系。再比如说,你通过电话去办理通讯业务的时候,有时候为了证明你的身份,你会被要求提供 PIN 或者密码以外的其他“个人信息”,像是说出最近三次通话的电话号码,这些方式,都是为了增加“鉴权因子”的种类,从而提高安全级别。
公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《全栈工程师修炼指南》,新⼈⾸单¥59
《全栈工程师修炼指南》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(6)
- 最新
- 精选
- ttXSS和CSRF都和身份有关系,前者是劫持了某个身份,后者是假冒了某个身份。而手工输入验证码实在鉴权之前发生的,一个验证码正确不能说明任何身份信息,只能说明在网站活动的实体是一个具有识别验证码的对象,这个对象可能是人。好像叫“图灵测试”还是什么来着。 提交信用卡信息,有两个方面需要考虑,一个是信息的保密性,这个应该要依靠加解密来实现;第二个是要实现不可抵赖性,即确保这个行为是真实的用户发出的真实的请求,即第一要防止XSS,即身份被冒用;第二要防止CSRF,即行为被仿造。像老师课里讲到的,利用TOKEN信息,这个TOKEN也可以来自永和的电子令牌或U盾,做到防抵赖等。 最后,用户也要验证服务提供者的身份,这就需要HTTPS了。但是如果DNS被劫持,确实不好办,最近我们另外一个项目遇到了这个问题,但是客户端也不支持HTTP-DNS。
作者回复: 👍
25 - leslie这块刚好是欠缺的关于安全方面的。下面是对于今天2个问题的个人理解 1.短信验证:短信验证应当是防范了XSS攻击。 2.支付系统:多种攻击都应当要防范,支付可能是直接的网络密码支付或者密码支付;我觉得以下几种方式都要防御;XSS、SQL注入、DNS以及DDOS攻击。 如果可以的话希望老师可以适当补充这块的知识或书籍资料;其实在现在而言 ,这个大概是每个IT人员都应当有的常识。谢谢老师今天的分享,期待老师后续的分享。
作者回复: 你讲的短信验证是验证码中的特殊一种,它不但能确定对方“是真实的”,而不是机器,还能验证对方的身份,它比普通的验证码要麻烦,但是可以防范更多的攻击方式,所以你可以多想一想,再补充。 对于扩展阅读,因为这篇已经有 4 条了,考虑接受程度和需要的时间成本,除非有我认为特别好的材料,一般就不再增加了。但是安全方面的学习材料互联网上很多,我相信你也可以找得到。
1 - Geek_89bbabDNS劫持后,如果用户没有注意到,然后在假冒网站中输入用户名密码,是不是用户名密码就泄漏了? 针对这种情况,有什么好的方案或者建议呢?
作者回复: 1) 对,有些银行卡信息就是这样泄露的。俗称“钓鱼” 2) DNS劫持的防范一般比较复杂,需要整个链路的配合,包括DNS服务提供商,现在有的浏览器支持的HTTPS加密的DNS,就是针对这个事情而设计的,参见 https://zh.wikipedia.org/wiki/DNS_over_HTTPS
- 丁丁历险记小公司,遭遇过一次30G 流量的ddos ,直接被机房叫去约谈,各种理由停我们的服务。 那次后,果断上云了。
作者回复: 👍
2 - 靠人品去赢这例子想当给劲了,没想到老师也去V2摸鱼。
作者回复: :) V2 这张图是个巧合。我想找一张 HTTP 劫持的图片,搜了一些,大多数都不太适合,这张算是相对来说比较适合的。
- 八哥用户登录信息,加密和https。涉及到用户敏感数据,脱敏显示都是安全措施
收起评论