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

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

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

    lycong

    經常碰到的模塊:修改密碼 一 安全小技巧(服務器后臺不返回密碼)

            問題如下:當修改密碼時,為了防止通過查看html源文件或其他方法看到用戶的原始密碼,一般服務器不會返回用戶密碼,可以利用javascript的技巧 ,在頁面顯示一虛假密碼,然后判斷密碼是否修改過,如果真有修改過密碼,才把密碼送到后臺服務器,否則不發(fā)送密碼到后臺服務器。
    1. 頁面顯示代碼:
    <%--構造一個虛假的密碼顯示框--%>
                         
    <fmt:message key="falsity_password_defaultValue" var="falsity_password_defaultValue" />
                         
    <input id="falsity_password" type="password" name="falsity_password"
                                 
    default="${falsity_password_defaultValue}"
                                 value
    ="${fn:escapeXml(param.falsity_password != null ? param.falsity_password : falsity_password_defaultValue)}" autocomplete="off">
                         
    <input id="true_password" type="hidden" name="password"/>
    其中 falsity_password_defaultValue 為服務器端事先設置好的虛假密碼(可以在資源文件中設置), falsity_password 為頁面顯示的虛假密碼,true_password 是當密碼修改后,才發(fā)送到服務器, 下面就會對上面2個變量值作一些處理判斷。

    2. 對是否修改過密碼進行處理。
    A.當focus到密碼框時,密碼框清空, 到沒有修改過密碼就離開密碼框時,就還原為虛假密碼顯示.
    B.當修改過密碼后,就會把true_password的值設置為修改后的值。
     <script type="text/javascript"><!--
      
    function getTruePassword(){
        
    <c:if test="${param.edit == 'modify'}">
          
    var falsity_password = document.getElementById("falsity_password");
          
    var true_password = document.getElementById("true_password");
               
    if(falsity_password && true_password){
          
    var defaultValue=falsity_password.getAttribute("default");

              
    if(falsity_password.value != defaultValue) {
                   true_password.value 
    = falsity_password.value;
              }

          }

        
    </c:if>
      }

      
    <c:if test="${param.edit == 'modify'}">
      
    var falsity_passwordNode = document.getElementById("falsity_password");
      
    if(falsity_passwordNode) {
          Object.extend(falsity_passwordNode, 
    {
              onfocus : 
    function() {
                  
    if (this.value == this.getAttribute("default")) {
                      
    this.value = '';
                  }

              }
    ,
              onblur : 
    function() {
                  
    if (this.value == '') {
                      
    this.value = this.getAttribute("default");
                  }

              }

          }
    )

      }

      
    </c:if>
      
    //--></script>

    判斷falsity_password密碼是否為虛假密碼,若不是,則把true_password設置為修改過的密碼。


    3.服務器端要判斷是否修改過密碼,若修改過才把密碼傳到后臺進行修改,這里主要看true_password是否為" ",若不為" ",則說明密碼修改過。
    這里可以通過tag來進行處理
    <c:if test="${!empty param.true_password}">
    /* 把true_password 傳到后臺進行修改    */
    </c:if>


    posted on 2008-07-06 20:14 cong 閱讀(564) 評論(0)  編輯  收藏 所屬分類: JavaScript

    My Links

    Blog Stats

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 日本不卡高清中文字幕免费| 永久免费AV无码国产网站| 免费国产小视频在线观看| 亚洲综合一区二区三区四区五区| 亚洲美女又黄又爽在线观看| 亚洲国产精品无码中文lv| 在线免费观看a级片| 亚洲国产日韩a在线播放| 全部免费国产潢色一级| 一级女性全黄久久生活片免费| 无码日韩精品一区二区免费暖暖 | 国产亚洲sss在线播放| 18未年禁止免费观看| 亚洲精品在线免费观看| 久久WWW免费人成人片| 大桥未久亚洲无av码在线| 亚洲AV无码一区二区三区在线观看| 亚洲av无码一区二区三区不卡 | 亚洲区视频在线观看| 国产h视频在线观看免费| 亚洲 欧洲 自拍 另类 校园| 黄网址在线永久免费观看| 又粗又长又爽又长黄免费视频| 成熟女人特级毛片www免费| 欧洲亚洲国产精华液| 自拍偷自拍亚洲精品被多人伦好爽| 77777午夜亚洲| 免费乱理伦在线播放| 日本黄色动图免费在线观看| 亚洲三级高清免费| 亚洲国产综合精品一区在线播放| 亚洲日韩精品无码专区加勒比 | 亚洲精品V天堂中文字幕| 国产gv天堂亚洲国产gv刚刚碰| 免费播放美女一级毛片| 久久亚洲高清观看| 免费阿v网站在线观看g| 人妻免费久久久久久久了| 亚洲高清资源在线观看| 亚洲国产V高清在线观看| 久久久久av无码免费网|