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

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

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

    積累,創(chuàng)造,分享!

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      25 Posts :: 13 Stories :: 26 Comments :: 0 Trackbacks
    用同步器令牌來防止客戶端的重復(fù)提交,這的確是個(gè)好注意!
    特別是防止用戶在瀏覽器當(dāng)中點(diǎn)擊后退或者刷新按鈕所產(chǎn)生的不良影響。
    道理其實(shí)很簡單,大概流程為:輸入請求-->比較值-->處理請求-->生成令牌-->保存令牌-->
    準(zhǔn)備響應(yīng)-->外發(fā)響應(yīng)。
    在客戶請求當(dāng)中攜帶服務(wù)器前一次響應(yīng)時(shí)發(fā)給客戶端的令牌,去與服務(wù)器端保存的令牌相比較,如果相等,則說明當(dāng)前是合法提交。而不過不匹配,則可能是重復(fù)提交了。
    在具體的實(shí)現(xiàn)當(dāng)中以jsp為例,在控制器當(dāng)中采用servlet來負(fù)責(zé)管理令牌,將服務(wù)器端的令牌保存在session當(dāng)中,通過每次的請求來更新這個(gè)令牌。然后在將要處理的業(yè)務(wù)邏輯之前判斷提交上來的令牌是否合法。如果合法則繼續(xù)執(zhí)行,如果不合法,則避免執(zhí)行正常的操作。
    servlet當(dāng)中生成token代碼可如下:
    public void saveToken(HttpServletRequest request){
             HttpSession session
    =request.getSession();
             String token
    =generateToken(request);
             session.setAttribute(Constants.TOKEN,token);
    }
    檢查令牌合法性
    public boolean isTokenValid(HttpServletRequest request){
            HttpSession session
    =request.getSession();
            String saved
    =session.getAttribute(Constants.TOKEN);
            String token
    =request.getParameter(Constants.TOKEN);
    if(saved.equals(token)){
          
    return true;
    }

         
    return false;
    }


    在JSP端,通過助手類將當(dāng)前生成的令牌保存在HTML的表單的隱含域當(dāng)中。
    比如
    <input type="hidden" name="TOKEN" value="as8d7j3sk">

    通過這種手段實(shí)現(xiàn)起來并不十分復(fù)雜。當(dāng)然這只是防止用戶提交的手段之一。其他的方法有待大家不斷補(bǔ)充。
    來源參考:Core J2ee patterns 2 


    posted on 2005-11-15 11:14 nighthawk 閱讀(964) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 麻豆视频免费播放| 拨牐拨牐x8免费| 99久久国产精品免费一区二区| 99精品视频在线观看免费播放| 免费观看男人免费桶女人视频| 亚洲深深色噜噜狠狠爱网站| 亚洲欧洲自拍拍偷综合| 十八禁的黄污污免费网站| 国产成人精品免费午夜app| 亚洲精品人成电影网| 日韩视频在线精品视频免费观看| 久久亚洲精品无码观看不卡| 亚洲最大中文字幕无码网站 | 日日狠狠久久偷偷色综合免费| 免费无码黄网站在线观看| 亚洲av无码成人精品国产| 久久久久免费看黄a级试看| 国产成人无码区免费A∨视频网站 国产成人涩涩涩视频在线观看免费 | 免费污视频在线观看| 亚洲男人的天堂一区二区| 亚洲精品无码aⅴ中文字幕蜜桃| 无码人妻丰满熟妇区免费| 亚洲日韩乱码久久久久久| 99爱免费观看视频在线| 久久久久精品国产亚洲AV无码| 久久成人无码国产免费播放| 久久久久久久亚洲精品| 成人久久免费网站| 亚洲免费人成视频观看| 最近免费中文字幕mv在线电影| 亚洲Av永久无码精品三区在线| a免费毛片在线播放| 亚洲精品国产va在线观看蜜芽| 中文字幕无码免费久久| 亚洲乱码卡三乱码新区| 亚洲精品麻豆av| 毛片免费全部播放无码| 亚洲精品在线免费观看视频| 日韩一区二区三区免费体验| 国产成人va亚洲电影| 免费夜色污私人影院在线观看|