1.前、端后都要做好安全的把关工作
不能单靠前端做安全验证工作,后端也必须有过滤机制,检验前方传来的资料。由于Ajax也会接收后端传送来的资料,对这些资料都要采不信任态度,必须加以检查。
2.尽量以HTTP POST方法传输资料
使用GET方法容易让有心人士得到资料,虽然POST并非万无一失,但比起GET至少较为安全。
3.不要直接用eval函式唤起JSON物件
JSON是采用JavaScript物件实字的资料格式,从后端传到Ajax程式时,必须采用eval函式将它从字串转成物件,这时必须先行检查资料中是否有非法字元,以免非法程式借机启用。
4.限制使用者可用的HTML语法
许多Ajax网站允许使用者在留言中使用HTML语法,而某些特定语法应该严格限制,例如<plaintext>或是<!- -这类语法,都会让置于之后的程式码失效。
5.禁止可留言的网页页面使用JavaScript语法
虽然乍看之下觉得不可思议,不过的确在一些部落格平台上发生过,这让XSS攻击开了大门。
6.使用Ajax框架,必须注意安全性问题
由于骇客利用JavaScript进行攻击手法日新月异,当网页开发人员利用Ajax框架时,必须注意框架本身是否对某些特定手法具有防治行为。
7.让使用者知道自己身处的状况
当Ajax载入资料量大时,有时会让使用者产生错觉,不确定刚刚按下的按扭是否发生作用。因此开发人员必须设计适当的提示,让使用者了解目前程式的执行状况。
8.保持小量传输
Ajax的灵活性在于动态改变局部资料量,因此小量传输资料才能达到最高效益。如果一大张资料表都要透过DOM的操作来改变,不如就由后端程式与资料库来操作,效益更高。
9.注意易用性与内容的平衡
Ajax虽然为使用者带来浏览时的易用性,不过如果将所有内容都透过Ajax来产生,会造成搜寻引擎无法索引资料的情况。因此与内容相关的部分,需谨慎使用Ajax。
10.执行优雅降级原则
网站如果并非全面性采用Ajax技术,而只是为了局部增加互动性,这时必须考量不支援JavaScript的使用者,设法在不使用这些功能的前提下,让他们还能正常地浏览网站。
|