jQuery 유효성 검사 엔진과 함께 작동하는 암호 해시를 가져 오는 데 문제가 있습니다. 문제는 주어진 암호를 해시 할 수 없다는 것입니다.jQuery 유효성 검사 엔진 및 Sha512와 해시
이것은 내가 지금까지 가지고있는 것입니다.
<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)를 분리하여 자바 스크립트와 추가 "배경 유효성 검사"를 적용하고 별도의 파일에 넣어서 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>
어딘가에'formhash (.., ..)'를 실행합니까? – cIph3r
폼 헤더에서 onsubmit으로 호출하려고했습니다. 그 결과 유효성 검사가 실패한 경우에도 양식이 제출되었습니다. – Markus
그러나 해시를 계산하고 절대로 호출하지 않는이 함수에서 원래 암호를 지울 때 어떻게 암호가 사라질 것으로 예상합니까? – cIph3r