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的使用者,設法在不使用這些功能的前提下,讓他們還能正常地浏覽網站。