ajax 开发守则 10条说明
1. 前、后端都要做好安全的把关工作
不能单靠前端做安全验证工作,后端也必须有过滤机制,检验前方传来的资料。由于Ajax也会接收后端传送来的资料,对这些资料都要采取不信任态度,必须加以检查。
2. 尽量以HTTP POST方法传输资料
使用GET方法容易让有心人士得到资料,虽然POST并非万无一失,但比起GET至少较为安全。
3. 不要直接用eval函数唤起JSON对象
JSON(JavaScript Object Notation)是采用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的使用者,设法在不使用这些功能的前提下,让他们还能正常地浏览网站。