ajax 開(kāi)發(fā)守則 10條說(shuō)明
不能單靠前端做安全驗(yàn)證工作,后端也必須有過(guò)濾機(jī)制,檢驗(yàn)前方傳來(lái)的資料。由于Ajax也會(huì)接收后端傳送來(lái)的資料,對(duì)這些資料都要采取不信任態(tài)度,必須加以檢查。
2. 盡量以HTTP POST方法傳輸資料
使用GET方法容易讓有心人士得到資料,雖然POST并非萬(wàn)無(wú)一失,但比起GET至少較為安全。
3. 不要直接用eval函數(shù)喚起JSON對(duì)象
JSON(JavaScript Object Notation)是采用JavaScript對(duì)象的資料格式,從后端傳到Ajax程序時(shí),必須採(cǎi)用eval函式將它從字串轉(zhuǎn)成對(duì)象,這時(shí)必須先行檢查資料中是否有非法字符,以免非法程序借機(jī)啟動(dòng)。
4. 限制使用者可用的HTML語(yǔ)法
許多Ajax網(wǎng)站允許使用者在留言中使用HTML語(yǔ)法,而某些特定語(yǔ)法應(yīng)該嚴(yán)格限制,例如<plaintext>或是<!- -這類(lèi)語(yǔ)法,都會(huì)讓置于之后的程序代碼失效。
5. 禁止可留言的網(wǎng)頁(yè)頁(yè)面使用JavaScript語(yǔ)法
雖然乍看之下覺(jué)得不可思議,不過(guò)的確在一些論壇平臺(tái)上發(fā)生過(guò),這給XSS攻擊開(kāi)了大門(mén)。
6. 使用Ajax框架,必須注意安全性問(wèn)題
由于駭客利用JavaScript進(jìn)行攻擊手法日新月異,當(dāng)網(wǎng)頁(yè)開(kāi)發(fā)人員利用Ajax框架時(shí),必須注意框架本身是否對(duì)某些特定手法具有防治行為。
7. 讓用戶(hù)知道自己身處的狀況
當(dāng)Ajax載入資料量大時(shí),有時(shí)會(huì)讓使用者產(chǎn)生錯(cuò)覺(jué),不確定剛剛按下的按扭是否發(fā)生作用。因此開(kāi)發(fā)人員必須設(shè)計(jì)適當(dāng)?shù)奶崾?,讓使用者了解目前程序的?zhí)行狀況。
8. 保持小量傳輸
Ajax的靈活性在于動(dòng)態(tài)改變局部資料量,因此小量傳輸資料才能達(dá)到最高效益。如果一大張資料表都要透過(guò)DOM的操作來(lái)改變,不如就由后端程序與資料庫(kù)來(lái)操作,效益更高。
9. 注意易用性與內(nèi)容的平衡
Ajax雖然為使用者帶來(lái)瀏覽時(shí)的易用性,不過(guò)如果將所有內(nèi)容都透過(guò)Ajax來(lái)產(chǎn)生,會(huì)造成搜索引擎無(wú)法索引資料的情況。因此與內(nèi)容相關(guān)的部分,需謹(jǐn)慎使用Ajax。
10. 執(zhí)行優(yōu)雅降級(jí)原則
網(wǎng)站不要全面性?huà)?cǎi)用Ajax技術(shù),而只是局部增加互動(dòng)性,這時(shí)必須考量不支持JavaScript的使用者,設(shè)法在不使用這些功能的前提下,讓他們還能正常地瀏覽網(wǎng)站。
相關(guān)文章
通過(guò)Ajax請(qǐng)求動(dòng)態(tài)填充頁(yè)面數(shù)據(jù)的實(shí)例
今天小編就為大家分享一篇通過(guò)Ajax請(qǐng)求動(dòng)態(tài)填充頁(yè)面數(shù)據(jù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08AJAX請(qǐng)求隊(duì)列實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了AJAX請(qǐng)求隊(duì)列的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11Ajax遍歷jSon后對(duì)每一條數(shù)據(jù)進(jìn)行相應(yīng)的修改和刪除(代碼分享)
這篇文章主要介紹了Ajax遍歷jSon后對(duì)每一條數(shù)據(jù)進(jìn)行相應(yīng)的修改和刪除的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11ajax post下載flask文件流以及中文文件名問(wèn)題
這篇文章主要介紹了ajax post下載flask文件流以及中文文件名問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04詳談ajax返回?cái)?shù)據(jù)成功 卻進(jìn)入error的方法
今天小編就為大家分享一篇詳談ajax返回?cái)?shù)據(jù)成功 卻進(jìn)入error的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08結(jié)合AJAX進(jìn)行PHP開(kāi)發(fā)之入門(mén)
結(jié)合AJAX進(jìn)行PHP開(kāi)發(fā)之入門(mén)...2006-12-12Ajax商品分類(lèi)三級(jí)聯(lián)動(dòng)的簡(jiǎn)單實(shí)現(xiàn)(案例)
下面小編就為大家?guī)?lái)一篇Ajax商品分類(lèi)三級(jí)聯(lián)動(dòng)的簡(jiǎn)單實(shí)現(xiàn)(案例)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08Ajax post請(qǐng)求跳轉(zhuǎn)頁(yè)面
這篇文章主要介紹了Ajax post請(qǐng)求跳轉(zhuǎn)頁(yè)面的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-12-12