0

jQuery検証エンジンと一緒にパスワードハッシュを機能させることに問題があります。問題は、指定されたパスワードをハッシュできないように見えることです。

これは私がこれまでに持っているものです。

    <script>
    jQuery(document).ready( function() {
    jQuery("#form").validationEngine('attach', 
    {onValidationComplete: function(form, status){
        if (status == true) {
             $("form#form").bind('submit', function(e) {
                  e.preventDefault();
             });

             function formhash(form, password) {
               var p = document.createElement("input");
               form.appendChild(p);
               p.name = "p";
               p.type = "hidden";
               p.value = hex_sha512(password.value);
               password.value = "";
               form.submit();
              }
         }
     }  
    })
    };
    </script>

送信後に処理スクリプトを実行すると、ハッシュ化されていないパスワードを見つけて使用できますが、それだけでは十分ではありません。

私は何を間違っていますか?

編集:関数(formhash)を分離することにより、さらにJavaScriptと追加の「バックグラウンド検証」を適用し、別のファイルに入れ、 onsubmit="return validate(this);" を追加しました。フォームヘッダーに。それほどきれいではありませんが、うまくいくようです。

ただし、改善に関する提案は大歓迎です。

    <script type="text/javascript"> 
    function validate(form) {
    var reason = "";

    reason += validatePassword(form.password);

    if (reason != "") {
    return false;
    }
    formhash(form, form.password)
    return true;
    }

    function validatePassword(fld) {
    var error = "";

    if (fld.value == "") {
       error = "";
    }
    return error;
    }
    </script>
4

1 に答える 1