<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

    本博客系個人收集材料及學習記錄之用,各類“大俠”勿擾!

    留言簿(14)

    隨筆分類

    收藏夾

    My Favorite Web Sites

    名Bloger

    非著名Bloger

    搜索

    •  

    積分與排名

    • 積分 - 202607
    • 排名 - 284

    最新評論

    系統越做越大,問題越來越多,有些徹底解決了,有些湊合解決了,有些還沒有辦法,現在把碰到的主要問題列出來,給大家前車之覆:

    1? 跨瀏覽器布局的問題: 由于瀏覽器之間的微小差距,在布局復雜的頁面時將會碰到麻煩
    ?? 我現在的項目就要求firefox 和ie. 由于ie一些著名的bug,有時候不小心就踩到地雷。

    2? 日期控件
    ?? 如何實現跨瀏覽器的日期控件,如何設定缺省值,如何實現大范圍的日期直接定位?如何自適應多區域格式問題?
    ?我也用過不少現成的東西,比如 http://www.mattkruse.com/javascript/calendarpopup/
    ? 但都有或多或少的問題

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

    4、防止SQL注入式攻擊
    ? 參數使用占位符,這個算是基本解決了,只是有些擔心數據庫的效率。

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

    ?看上去很簡單,但一深思問題就來了,
    每個頁面的安全驗證:動態頁面一般是 URL + Query String
    URL數量有限,但Query String一般以id為參數,有許多,所以如以URL為基礎驗證,則有時候
    粒度不夠細,如加上Query String,則不能再以配置表為基礎校驗,因為Query String乘以
    用戶數量(或角色數量,將是一個天文數字),所以如何建立安全驗證規則表又是一個頭疼的
    問題,每個系統的安全驗證規則都不一樣。

    再深入,你會發現如果一個操作被分成幾個步驟,此時,這幾個步驟的頁面必須是相同的權限
    設置,否則用戶操作到一半,告訴他沒有權限,他會被氣死的。

    如果再細化粒度,頁面某些元素能夠被部分用戶修改和看見,你的頭開始疼了嗎?
    7、重復提交問題
    ?功能操作完成后,鼠標右鍵點擊所在頁面,選擇彈出菜單的刷新功能,容易出現重復提交問題。功能操作完成后,通過瀏覽器的后退鍵進行重復操作,容易出現重復提交問題。? URL沒有重定向,刷新頁面出現重復提交問題。某功能鍵反應時間延遲時,在短時間內重復點擊該功能鍵,容易出現重復提交問題;
    ?某些用戶習慣雙擊按鈕,某些用戶錯誤地點了兩次按鈕,某些鼠標出現故障,導致單擊變成雙擊,結果發生重復提交。
    如果不加處理,這些請求都會被服務器處理,從而導致錯誤的結果。

    struts的token確實能解決問題,但用戶老是向我抱怨,為什么我不
    能用瀏覽器的回退按鈕重新提交,我在其他網站上從沒有這個問題,你如何解釋?
    然后你還會發現部分操作是能夠允許重復提交的。

    8.如何鎖定資源如記錄:這是一個老大難問題了,為此還搞了不少東西出來。用 關鍵詞 隔離級別 臟 鎖定 去搜搜,就會發現,要解決這個問題是有方法的,但代價你愿意承擔嗎?開發代價,性能代價,可用性代價

    9,如何防止瀏覽器記住數據,某些瀏覽器能夠為每一個URL記住用戶輸入的數據,在某些情況下是危險的。比如我修改了某些數據,但由于某些原因我想刷新,此時數據已經被其他用戶修改,但在瀏覽器里面你看到的是你修改的數據(你用刷新按鈕也不能看到新數據)。如果你再次保存,你認為你沒有修改數據,但數據已經被修改了。當頁面是腳本動態生成的時候,這個問題更嚴重。常發生在firefox等瀏覽器上。

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

    11,回退問題,對于工作流熟悉的人對這個問題很清楚,某個操作節點如何回到啟動點,如何回到上一節點,如何避免硬編碼? 比如一個頁面被兩個操作流所共享,此時安全驗證是個問題,回退也許要仔細考慮。

    12,校驗問題,如何同時實現客戶端和服務器端校驗,客戶端調用服務器端的校驗功能。
    我已經在使用struts自帶的apache commons validator,可是我不得不修改許多地方才能
    用起來。比如我有些隱藏字段需要校驗。但commons validator居然使用focus語句,導致出錯。
    這是小的bug,但更麻煩的是部分服務器端的校驗沒有辦法在客戶端實現。比如validwhen
    又如,某些校驗需要查詢數據庫,所以我想要的校驗應該是能夠被ajax 調用,這樣
    校驗在客戶端和服務器端完全一樣,但這樣客戶端校驗還有必要嗎,我們原來用客戶端校驗
    是看中他的校驗響應快,不給服務器加負擔。所以我又迷茫了。

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

    14, 如何追蹤定位錯誤,如何處理異常?
    ?? 在一個運行的系統里,你如何知道哪個數據產生了這個錯誤?多個用戶的日志絞纏在一起如何組織?

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

    16, 帶安全控制的斷點續傳的上載 和下載甚至服務器端恐怕也要裝點什么,這個可是許多企業的忌諱

    17,分布式環境的特殊處理,

    18,如何提高開發效率?

    posted on 2006-07-22 11:02 matthew 閱讀(222) 評論(0)  編輯  收藏 所屬分類: JavaEE
    主站蜘蛛池模板: 瑟瑟网站免费网站入口| 亚洲人成网站免费播放| 精品国产污污免费网站入口在线| 免费特级黄毛片在线成人观看| 亚洲欧洲精品国产区| 久久久久久亚洲精品| 亚洲综合一区国产精品| 免费国产黄线在线观看| 国产亚洲av人片在线观看| jyzzjyzz国产免费观看| 久久精品女人天堂AV免费观看| 亚洲va在线va天堂va手机| 成年女人毛片免费视频| 亚洲av成人片在线观看| 亚洲精品麻豆av| 西西人体免费视频| 亚洲精品视频观看| 成人免费无码视频在线网站| 豆国产96在线|亚洲| 亚洲无线一二三四区手机| 免费黄网站在线看| 亚洲国产精品综合一区在线| 日韩在线视频免费看| 成人国产网站v片免费观看| 国产精品亚洲成在人线| 成人女人A级毛片免费软件| 亚洲视频在线观看免费| 国产午夜免费高清久久影院| 亚洲自偷自拍另类图片二区| 成人毛片18岁女人毛片免费看| 日韩毛片在线免费观看| 久久久久亚洲精品成人网小说| 无人在线直播免费观看| 黄色网址免费在线| 亚洲美女免费视频| mm1313亚洲精品无码又大又粗| 含羞草国产亚洲精品岁国产精品| 亚洲最大av无码网址| 青草草色A免费观看在线| 一区二区免费在线观看| 亚洲欧洲另类春色校园小说|