本章将对“安全隐患”这一贯穿全书的主题加以概述,包 括什么是安全隐患,安全隐患会带来哪些问题,安全隐患 是如何产生的,等等。本章最后会给出全书的结构和学习方法。 1.1 安全隐患即“能用于作恶的Bug” 程序Bug对于开发者来说如同家常便饭。应用程序有了Bug,就会出现各种不正常的现象。例如,显示出错误的结果、需要进行的处理迟迟不能结束、网页布局错乱、响应速度极为缓慢等。而这其中,有一种Bug能被恶意利用。此类Bug被称为安全隐患(Vulnerability),有时也被称为安全性Bug。 以下是一些恶意利用的常见案例。 未经许可浏览用户个人信息等隐私信息 篡改网站的内容 使网页浏览者的计算机感染病毒 伪装成他人来窥探用户的隐私信息、发布文章、在线购物、肆意转账等 使目标网站不能被访问 在网络游戏中让自己达到无敌状态,或非法获得游戏中的装备道具 在确认自己的个人信息时,能看到别人的个人信息A 如同程序员对一般的Bug(无奈地)习以为常一样,Web应用程序开发者对安全隐患也同样已经司空见惯。倘若开发Web应用程序时对安全隐患一无所知,就会开发出能被用来进行上述恶举的网站。针对这一问题,本书将从原理到具体对策,来详细讲述如何在开发Web应用时杜绝安全隐患。 A 能看到其他用户个人信息的Bug虽不是故意作恶,但由此而偶然造成的不良后果也被视为安全隐患。