第三节 Ajax风险
如上节,先听首歌看看草原上飞驰的骏马吧。
了解web领域的人都知道,上个世纪90年代,几乎所有的网站都由HTML页面实现。大家(包括我)在上网的过程中经常会遇到输入验证码的情况,曾经有过一段时间的确让人头疼,在注册一个账号需要填写较多信息时,因为输入了错误的验证码,不小心刷新了整个页面,此时录入的所有信息都得重写。后来,因为Ajax的出现在不更新整个页面的前提下维护数据。这才解决了很多互联网人的困扰。但是!!!技术如人,有好也有坏。而Ajax的坏也是众所皆知。
它最大的挑战就是浏览器的兼容性,这给程序员进行开发时造成了巨大的困难。它会直接破坏浏览器的后退功能,还有时不时的网络延迟。所以程序员的情商也很重要,在你网络延迟的那段时间,他们得想好如果不给予用户明确的回应,或者没有恰当的预读数据,就做好被用户厌恶甚至拒绝的结果。恰如生活中浏览网页或使用程序的等待过程中,会有“你搜索的内容好像去外星了”、“内容正在马不停息的加载中”、“客观稍等,精彩内容马上为你呈现”等调皮的预设内容。
Ajax也是我工作中的梦魇,不怕领导开的工资少,就怕技术采用Ajax。它是一套综合了多项技术的浏览器端网页开发技术。这次对Ajax的介绍尤为颇多,人之本性,对于不喜欢的事物或人就爱在背后唠叨个不停。见谅~阿贾克斯!(Ajax读音)
既然是黑客技术探秘,那这节的重点在“风险”二字。
Ajax的风险正是黑客做手脚的切入点!它简直就是前端黑客攻击中必用的技术模式。Ajax的攻击异常诡秘。因它自身原因,它可以开启单独的线程,简单理解就是你听着歌打着游戏时不时还和对象聊着天(前提是你得有个对象),听歌这事它可以独立运行,不会因为你熄灭了手机屏幕歌就会停止播放。而ajax正是因为可以在后台独立运行,所以说它的攻击是悄无声息的!
在网页方面,W3C给出了一份头部黑名单(黑名单可自行百度)而这份黑名单曾经是不完备的,通过一些技巧绕过黑名单,给浏览器头部提交任意内容,黑客就会进行有目的的篡改。黑客也可以通过getALLResponseHeaders获取所有响应头。再选择自己有需要的响应做下一步操作。后来,W3C发布了新标准,CORS机制可以进行跨域操作。
我又开始想象新的攻击场景,可以将用户的隐私数据(每几秒)跨域提交到目标源上再进行内容的解读。CORS机制方便跨域的同时,也有其潜在的巨大危险。慎用!正如一个人突然对你出奇的给予很多好处时,论不清后面会有很大的阴谋!而Ajax的巨大的优点后面一个微小的缺点都可以放大到极致。(跨域操作的代码需要的可以私我)
技术不易,生活也不易。各位珍重!
下节再见
领取专属 10元无门槛券
私享最新 技术干货