98 lines
2.9 KiB
JavaScript
98 lines
2.9 KiB
JavaScript
/*
|
|
* Copyright (C) 2013 peredur.net
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
function formhash(form, password) {
|
|
// Create a new element input, this will be our hashed password field.
|
|
var p = document.createElement("input");
|
|
|
|
// Add the new element to our form.
|
|
form.appendChild(p);
|
|
p.name = "p";
|
|
p.type = "hidden";
|
|
p.value = hex_sha512(password.value);
|
|
|
|
// Make sure the plaintext password doesn't get sent.
|
|
password.value = "";
|
|
|
|
// Finally submit the form.
|
|
form.submit();
|
|
}
|
|
|
|
function regformhash(form, uid, email, password, conf) {
|
|
// Check each field has a value
|
|
if (uid.value == '' || email.value == '' || password.value == '' || conf.value == '') {
|
|
alert('U moet alles invullen, svp opnieuw proberen');
|
|
return false;
|
|
}
|
|
|
|
// Check the username
|
|
re = /^\w+$/;
|
|
|
|
if(!re.test(form.username.value)) {
|
|
alert("Gebruikersnaam kan alleen letters, nummers en underscores bevatten. Svp opnieuw proberen");
|
|
form.username.focus();
|
|
return false;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Check that the password is sufficiently long (min 6 chars)
|
|
// The check is duplicated below, but this is included to give more
|
|
// specific guidance to the user
|
|
if (password.value.length < 6) {
|
|
alert('Wachtwoord moet minimaal 6 karakters lang zijn');
|
|
form.password.focus();
|
|
return false;
|
|
}
|
|
|
|
// At least one number, one lowercase and one uppercase letter
|
|
// At least six characters
|
|
var re = /(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}/;
|
|
if (!re.test(password.value)) {
|
|
alert('Wachtwoord moet minimaal 1 nummer, een kleine en een hoofdletter bevatten.');
|
|
return false;
|
|
}
|
|
|
|
// Check password and confirmation are the same
|
|
if (password.value != conf.value) {
|
|
alert('Wachtwoord en bevestiging moeten hetzelfde zijn');
|
|
form.password.focus();
|
|
return false;
|
|
}
|
|
|
|
// Create a new element input, this will be our hashed password field.
|
|
var p = document.createElement("input");
|
|
|
|
// Add the new element to our form.
|
|
form.appendChild(p);
|
|
p.name = "p";
|
|
p.type = "hidden";
|
|
p.value = hex_sha512(password.value);
|
|
|
|
// Make sure the plaintext password doesn't get sent.
|
|
password.value = "";
|
|
conf.value = "";
|
|
|
|
// Finally submit the form.
|
|
form.submit();
|
|
return true;
|
|
}
|