系統(tǒng)越做越大,問題越來越多,有些徹底解決了,有些湊合解決了,有些還沒有辦法,現(xiàn)在把碰到的主要問題列出來,給大家前車之覆:
1? 跨瀏覽器布局的問題: 由于瀏覽器之間的微小差距,在布局復(fù)雜的頁(yè)面時(shí)將會(huì)碰到麻煩
2? 日期控件
? 如何實(shí)現(xiàn)跨瀏覽器的日期控件,如何設(shè)定缺省值,如何實(shí)現(xiàn)大范圍的日期直接定位?如何自適應(yīng)多區(qū)域格式問題?
3、分辨率
? 如何支持常見分辨率,例如800*600 ,1024*768,1280*1024?表格和層如何自適應(yīng)?
4、防止SQL注入式攻擊
5.防止腳本攻擊。? 有時(shí)候需要在頁(yè)面允許部分html或javascript代碼, 如顯示多行文本。
6、用戶非授權(quán)頁(yè)面訪問
? 如何實(shí)現(xiàn)每個(gè)頁(yè)面的安全驗(yàn)證,如何防止用戶通過直接拷貝具體頁(yè)面地址等方式,訪問系統(tǒng);? 包括沒有鏈接的某些頁(yè)面和jsp 頁(yè)面。 如何控制部分權(quán)限,最小控制單元是什么?
?
7、重復(fù)提交問題
??? 功能操作完成后,鼠標(biāo)右鍵點(diǎn)擊所在頁(yè)面,選擇彈出菜單的刷新功能,容易出現(xiàn)重復(fù)提交問題。
??? 功能操作完成后,通過瀏覽器的后退鍵進(jìn)行重復(fù)操作,容易出現(xiàn)重復(fù)提交問題。
?? URL沒有重定向,刷新頁(yè)面出現(xiàn)重復(fù)提交問題。
?? 某功能鍵反應(yīng)時(shí)間延遲時(shí),在短時(shí)間內(nèi)重復(fù)點(diǎn)擊該功能鍵,容易出現(xiàn)重復(fù)提交問題;
?? 某些用戶習(xí)慣雙擊按鈕,某些用戶錯(cuò)誤地點(diǎn)了兩次按鈕,某些鼠標(biāo)出現(xiàn)故障,導(dǎo)致單擊變成雙擊,結(jié)果發(fā)生重復(fù)提交。
如果不加處理,這些請(qǐng)求都會(huì)被服務(wù)器處理,從而導(dǎo)致錯(cuò)誤的結(jié)果。
8.如何鎖定資源如記錄:這是一個(gè)老大難問題了,為此還搞了不少東西出來。
9,如何防止瀏覽器記住數(shù)據(jù),某些瀏覽器能夠?yàn)槊恳粋€(gè)URL記住用戶輸入的數(shù)據(jù),在某些情況下是危險(xiǎn)的。比如我修改了某些數(shù)據(jù),但由于某些原因我想刷新,此時(shí)數(shù)據(jù)已經(jīng)被其他用戶修改,但在瀏覽器里面你看到的是你修改的數(shù)據(jù)(你用刷新按鈕也不能看到新數(shù)據(jù))。如果你再次保存,你認(rèn)為你沒有修改數(shù)據(jù),但數(shù)據(jù)已經(jīng)被修改了。當(dāng)頁(yè)面是腳本動(dòng)態(tài)生成的時(shí)候,這個(gè)問題更嚴(yán)重。
10,如何防止或偵測(cè)客戶修改瀏覽器設(shè)置,比如客戶在打開頁(yè)面之后關(guān)閉腳本功能。
11,回退問題,對(duì)于工作流熟悉的人對(duì)這個(gè)問題很清楚,某個(gè)操作節(jié)點(diǎn)如何回到啟動(dòng)點(diǎn),如何回到上一節(jié)點(diǎn),如何避免硬編碼?
12,校驗(yàn)問題,如何同時(shí)實(shí)現(xiàn)客戶端和服務(wù)器端校驗(yàn),客戶端調(diào)用服務(wù)器端的校驗(yàn)功能。
13,如何防止數(shù)據(jù)偽造,如何防止客戶使用特殊工具和技術(shù)偽造數(shù)據(jù)提交到服務(wù)器。
14, 如何追蹤定位錯(cuò)誤,如何處理異常?
15,如何在兩個(gè)操作之間傳遞大量數(shù)據(jù),尤其是非存儲(chǔ)數(shù)據(jù)。
16, 帶安全控制的斷點(diǎn)續(xù)傳的上載 和下載
17,分布式環(huán)境的特殊處理,
18,如何提高開發(fā)效率?