<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 251  文章 - 504  trackbacks - 0
    <2006年7月>
    2526272829301
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    本博客系個(gè)人收集材料及學(xué)習(xí)記錄之用,各類“大俠”勿擾!

    留言簿(14)

    隨筆分類

    收藏夾

    My Favorite Web Sites

    名Bloger

    非著名Bloger

    搜索

    •  

    積分與排名

    • 積分 - 202520
    • 排名 - 285

    最新評(píng)論

    系統(tǒng)越做越大,問(wèn)題越來(lái)越多,有些徹底解決了,有些湊合解決了,有些還沒(méi)有辦法,現(xiàn)在把碰到的主要問(wèn)題列出來(lái),給大家前車之覆:

    1? 跨瀏覽器布局的問(wèn)題: 由于瀏覽器之間的微小差距,在布局復(fù)雜的頁(yè)面時(shí)將會(huì)碰到麻煩
    ?? 我現(xiàn)在的項(xiàng)目就要求firefox 和ie. 由于ie一些著名的bug,有時(shí)候不小心就踩到地雷。

    2? 日期控件
    ?? 如何實(shí)現(xiàn)跨瀏覽器的日期控件,如何設(shè)定缺省值,如何實(shí)現(xiàn)大范圍的日期直接定位?如何自適應(yīng)多區(qū)域格式問(wèn)題?
    ?我也用過(guò)不少現(xiàn)成的東西,比如 http://www.mattkruse.com/javascript/calendarpopup/
    ? 但都有或多或少的問(wèn)題

    3、分辨率
    ? 如何支持常見(jiàn)分辨率,例如800*600 ,1024*768,1280*1024?表格和層如何自適應(yīng)?
    ? 有些客戶喜歡居左居中,有些內(nèi)容超寬,有些超寬內(nèi)容還在容器里,有些還要疊加,把這些混在一起麻煩就來(lái)了

    4、防止SQL注入式攻擊
    ? 參數(shù)使用占位符,這個(gè)算是基本解決了,只是有些擔(dān)心數(shù)據(jù)庫(kù)的效率。

    5.防止腳本攻擊。? 有時(shí)候需要在頁(yè)面允許部分html或javascript代碼, 如顯示多行文本。
    ? html 轉(zhuǎn)義我知道,但我要允許部分html代碼起作用,比如我要讓
    起作用,其他不起作用,以實(shí)現(xiàn)多行文本
    6、用戶非授權(quán)頁(yè)面訪問(wèn)
    ? 如何實(shí)現(xiàn)每個(gè)頁(yè)面的安全驗(yàn)證,如何防止用戶通過(guò)直接拷貝具體頁(yè)面地址等方式,訪問(wèn)系統(tǒng);? 包括沒(méi)有鏈接的某些頁(yè)面和jsp 頁(yè)面。 如何控制部分權(quán)限,最小控制單元是什么?

    ?看上去很簡(jiǎn)單,但一深思問(wèn)題就來(lái)了,
    每個(gè)頁(yè)面的安全驗(yàn)證:動(dòng)態(tài)頁(yè)面一般是 URL + Query String
    URL數(shù)量有限,但Query String一般以id為參數(shù),有許多,所以如以URL為基礎(chǔ)驗(yàn)證,則有時(shí)候
    粒度不夠細(xì),如加上Query String,則不能再以配置表為基礎(chǔ)校驗(yàn),因?yàn)镼uery String乘以
    用戶數(shù)量(或角色數(shù)量,將是一個(gè)天文數(shù)字),所以如何建立安全驗(yàn)證規(guī)則表又是一個(gè)頭疼的
    問(wèn)題,每個(gè)系統(tǒng)的安全驗(yàn)證規(guī)則都不一樣。

    再深入,你會(huì)發(fā)現(xiàn)如果一個(gè)操作被分成幾個(gè)步驟,此時(shí),這幾個(gè)步驟的頁(yè)面必須是相同的權(quán)限
    設(shè)置,否則用戶操作到一半,告訴他沒(méi)有權(quán)限,他會(huì)被氣死的。

    如果再細(xì)化粒度,頁(yè)面某些元素能夠被部分用戶修改和看見(jiàn),你的頭開(kāi)始疼了嗎?
    7、重復(fù)提交問(wèn)題
    ?功能操作完成后,鼠標(biāo)右鍵點(diǎn)擊所在頁(yè)面,選擇彈出菜單的刷新功能,容易出現(xiàn)重復(fù)提交問(wèn)題。功能操作完成后,通過(guò)瀏覽器的后退鍵進(jìn)行重復(fù)操作,容易出現(xiàn)重復(fù)提交問(wèn)題。? URL沒(méi)有重定向,刷新頁(yè)面出現(xiàn)重復(fù)提交問(wèn)題。某功能鍵反應(yīng)時(shí)間延遲時(shí),在短時(shí)間內(nèi)重復(fù)點(diǎn)擊該功能鍵,容易出現(xiàn)重復(fù)提交問(wèn)題;
    ?某些用戶習(xí)慣雙擊按鈕,某些用戶錯(cuò)誤地點(diǎn)了兩次按鈕,某些鼠標(biāo)出現(xiàn)故障,導(dǎo)致單擊變成雙擊,結(jié)果發(fā)生重復(fù)提交。
    如果不加處理,這些請(qǐng)求都會(huì)被服務(wù)器處理,從而導(dǎo)致錯(cuò)誤的結(jié)果。

    struts的token確實(shí)能解決問(wèn)題,但用戶老是向我抱怨,為什么我不
    能用瀏覽器的回退按鈕重新提交,我在其他網(wǎng)站上從沒(méi)有這個(gè)問(wèn)題,你如何解釋?
    然后你還會(huì)發(fā)現(xiàn)部分操作是能夠允許重復(fù)提交的。

    8.如何鎖定資源如記錄:這是一個(gè)老大難問(wèn)題了,為此還搞了不少東西出來(lái)。用 關(guān)鍵詞 隔離級(jí)別 臟 鎖定 去搜搜,就會(huì)發(fā)現(xiàn),要解決這個(gè)問(wèn)題是有方法的,但代價(jià)你愿意承擔(dān)嗎?開(kāi)發(fā)代價(jià),性能代價(jià),可用性代價(jià)

    9,如何防止瀏覽器記住數(shù)據(jù),某些瀏覽器能夠?yàn)槊恳粋€(gè)URL記住用戶輸入的數(shù)據(jù),在某些情況下是危險(xiǎn)的。比如我修改了某些數(shù)據(jù),但由于某些原因我想刷新,此時(shí)數(shù)據(jù)已經(jīng)被其他用戶修改,但在瀏覽器里面你看到的是你修改的數(shù)據(jù)(你用刷新按鈕也不能看到新數(shù)據(jù))。如果你再次保存,你認(rèn)為你沒(méi)有修改數(shù)據(jù),但數(shù)據(jù)已經(jīng)被修改了。當(dāng)頁(yè)面是腳本動(dòng)態(tài)生成的時(shí)候,這個(gè)問(wèn)題更嚴(yán)重。常發(fā)生在firefox等瀏覽器上。

    10,如何防止或偵測(cè)客戶修改瀏覽器設(shè)置,比如客戶在打開(kāi)頁(yè)面之后關(guān)閉腳本功能。
    有時(shí)候甚至不是用戶禁止腳本,而是么某些軟件和插件,病毒甚至企業(yè)文化影響到用戶設(shè)置。

    11,回退問(wèn)題,對(duì)于工作流熟悉的人對(duì)這個(gè)問(wèn)題很清楚,某個(gè)操作節(jié)點(diǎn)如何回到啟動(dòng)點(diǎn),如何回到上一節(jié)點(diǎn),如何避免硬編碼? 比如一個(gè)頁(yè)面被兩個(gè)操作流所共享,此時(shí)安全驗(yàn)證是個(gè)問(wèn)題,回退也許要仔細(xì)考慮。

    12,校驗(yàn)問(wèn)題,如何同時(shí)實(shí)現(xiàn)客戶端和服務(wù)器端校驗(yàn),客戶端調(diào)用服務(wù)器端的校驗(yàn)功能。
    我已經(jīng)在使用struts自帶的apache commons validator,可是我不得不修改許多地方才能
    用起來(lái)。比如我有些隱藏字段需要校驗(yàn)。但commons validator居然使用focus語(yǔ)句,導(dǎo)致出錯(cuò)。
    這是小的bug,但更麻煩的是部分服務(wù)器端的校驗(yàn)沒(méi)有辦法在客戶端實(shí)現(xiàn)。比如validwhen
    又如,某些校驗(yàn)需要查詢數(shù)據(jù)庫(kù),所以我想要的校驗(yàn)應(yīng)該是能夠被ajax 調(diào)用,這樣
    校驗(yàn)在客戶端和服務(wù)器端完全一樣,但這樣客戶端校驗(yàn)還有必要嗎,我們?cè)瓉?lái)用客戶端校驗(yàn)
    是看中他的校驗(yàn)響應(yīng)快,不給服務(wù)器加負(fù)擔(dān)。所以我又迷茫了。

    13,如何防止數(shù)據(jù)偽造,如何防止客戶使用特殊工具和技術(shù)偽造數(shù)據(jù)提交到服務(wù)器。
    瀏覽器發(fā)送的數(shù)據(jù)都是遵循公開(kāi)的標(biāo)準(zhǔn),嗅探器等黑客工具可以隨便地修改你的數(shù)據(jù),
    還有一些神奇的瀏覽器插件可以任意修改數(shù)據(jù)。就算ssl也只能保障中間傳輸,客戶端無(wú)法控制。你還認(rèn)為你的隱藏字段是安全的嗎?你還認(rèn)為你的select只有那幾個(gè)選項(xiàng)嗎?

    14, 如何追蹤定位錯(cuò)誤,如何處理異常?
    ?? 在一個(gè)運(yùn)行的系統(tǒng)里,你如何知道哪個(gè)數(shù)據(jù)產(chǎn)生了這個(gè)錯(cuò)誤?多個(gè)用戶的日志絞纏在一起如何組織?

    15,如何在兩個(gè)操作之間傳遞大量數(shù)據(jù),尤其是非存儲(chǔ)數(shù)據(jù)。比如分頁(yè)數(shù)據(jù)(按什么列排序的第幾頁(yè),過(guò)濾條件)一般是不存儲(chǔ)到數(shù)據(jù)庫(kù)的,但在某些時(shí)候必須傳遞到下一個(gè)頁(yè)面,session 也不是最終解決方案。

    16, 帶安全控制的斷點(diǎn)續(xù)傳的上載 和下載甚至服務(wù)器端恐怕也要裝點(diǎn)什么,這個(gè)可是許多企業(yè)的忌諱

    17,分布式環(huán)境的特殊處理,

    18,如何提高開(kāi)發(fā)效率?

    posted on 2006-07-22 11:02 matthew 閱讀(222) 評(píng)論(0)  編輯  收藏 所屬分類: JavaEE
    主站蜘蛛池模板: 免费毛片网站在线观看| 日本红怡院亚洲红怡院最新| 无码毛片一区二区三区视频免费播放| 亚洲一级黄色视频| 91大神在线免费观看| 亚洲AV日韩AV一区二区三曲| 亚洲精品乱码久久久久久蜜桃不卡| 亚洲精品视频在线免费| 美女无遮挡免费视频网站| 亚洲AV无码成人专区片在线观看| 毛色毛片免费观看| 成人妇女免费播放久久久| 亚洲jizzjizz在线播放久| 国产亚洲精品AA片在线观看不加载 | 亚洲精品视频专区| 国产在线播放免费| 中文字幕无码一区二区免费| 亚洲香蕉在线观看| 亚洲精品卡2卡3卡4卡5卡区| 搡女人免费视频大全| a级成人毛片免费图片| 亚洲精品无码专区| 亚洲AV电影院在线观看| 国产色爽免费视频| **俄罗斯毛片免费| a级毛片在线视频免费观看| 亚洲 欧洲 视频 伦小说| 亚洲AV无码精品色午夜果冻不卡| 色播在线永久免费视频| 巨波霸乳在线永久免费视频| 亚欧国产一级在线免费| 亚洲精品国产av成拍色拍| 亚洲精品成人网站在线播放| 亚洲中文字幕不卡无码| 国产禁女女网站免费看| 一二三四免费观看在线电影| 免费国产污网站在线观看15| 国产一级a毛一级a看免费人娇| 美女被免费网站视频在线| 亚洲砖码砖专无区2023| 亚洲中文久久精品无码1|