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

    全站熱搜

    雪 薄草 發表在 痞客邦 留言(0) 人氣()