У меня возникла проблема с получением хэша паролей, работающим вместе с механизмом проверки 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>
При запуске сценария обработки после представления я могу найти и использовать не-хэшируются пароль, но это просто не достаточно хорошо для меня.
Что я делаю неправильно?
Редактировать: Я применил еще несколько javascript и дополнительную «проверку фона» путем выделения функции (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