认识前端安全

前端安全一直是一个蛮严苛的问题,特别如果设计到money更是如此。
了解前端安全,在平时的coding中主动考虑,防范于未然,是一个有追求的程序猿应该做的。

未登录

我们从弱弱的基本开始,第一步当然是登录鉴权了,如果一个需要用户身份鉴权的应用系统没有登录过滤那简直是没法想像的,方案基本都是用户输入用户名
密码、或是三方 openID 授权后在 session 里保存用户此次登录的凭证来确保每次请求的合法性。由于 session有时效限制,所以若用户一段时间未与服务
器交互则会过期重登,当然我们也可以通过把登录凭证存在 cookie 里来自由控制用户登录的有效时间。这个是最基本的鉴权我们就不深入细节。

登录了,但被CSRF

虽然有了登录验证后,我们可以挡掉其他非登录用户的骚扰了,但悲剧的是坏人们还是可以欺骗我们善良的用户,借已登录用户的手来搞破坏。
即 CSRF(Cross-site request forgery)跨站请求伪造。

举个栗子:
有个黑客的网站 h.com,我们的网站 a.com。用户登录了a.com,但被诱点进入h.com(如收到 QQ 消息或邮件传播的h.com 的链接),当用户访问
这个链接时,h.com 上自动发送一个请求到 a.com,由于用户已登录a.com,浏览器根据同源策略,会在该请求上自动附带了 cookie,而前面我们
提到了鉴权是通过 cookie 里的某个 key 值凭证的,所以如若没有判断该请求的来源合法性,我们则通过了该伪造的请求,执行了相应的操作。比如
这个请求是让该用户发一篇日志,或是发微博,或是严重的发起一笔转账。

常见的诸如放一张看不见的图片发起get请求

<img src=http://www.a.com/Transfer.php?toUserId=999&money=1000000>

post 请求会稍微麻烦些,但同样很好实现,可以构造一个表诱导用户点击,也可以直接利用ajax发送post请求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值