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>