Added password verify

Min 8 chars long
Min 1 upper letter
min 1 number
This commit is contained in:
2025-05-16 11:48:28 +02:00
parent 506718f66c
commit caa10555c6
2 changed files with 33 additions and 1 deletions

View File

@@ -34,6 +34,9 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (empty($uname) || empty($pswd)) { if (empty($uname) || empty($pswd)) {
$_SESSION['message'] = 'Error: Username and password are required!'; $_SESSION['message'] = 'Error: Username and password are required!';
$_SESSION['message_type'] = 'error'; $_SESSION['message_type'] = 'error';
} else if (!CheckPassword($pswd)) {
$_SESSION['message'] = 'Error: Password must be at least 8 characters long, contain at least one number and one uppercase letter!';
$_SESSION['message_type'] = 'error';
} else { } else {
$sql_check = "SELECT * FROM users WHERE uname = ?"; $sql_check = "SELECT * FROM users WHERE uname = ?";
$stmt_check = $conn->prepare($sql_check); $stmt_check = $conn->prepare($sql_check);
@@ -117,6 +120,19 @@ $message = $_SESSION['message'] ?? '';
$message_type = $_SESSION['message_type'] ?? ''; $message_type = $_SESSION['message_type'] ?? '';
unset($_SESSION['message']); unset($_SESSION['message']);
unset($_SESSION['message_type']); unset($_SESSION['message_type']);
function CheckPassword($password) {
if (strlen($password) < 8) {
return false;
}
if (!preg_match('/[0-9]/', $password)) {
return false;
}
if (!preg_match('/[A-Z]/', $password)) {
return false;
}
return true;
}
?> ?>
<!DOCTYPE html> <!DOCTYPE html>

View File

@@ -21,7 +21,10 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$confirm_password = htmlspecialchars($_POST['confirm_password']); $confirm_password = htmlspecialchars($_POST['confirm_password']);
$uname = $_SESSION['uname']; $uname = $_SESSION['uname'];
if ($new_password !== $confirm_password) { if(!CheckPassword($new_password)) {
$message = "New password must be at least 8 characters long, contain at least one number and one uppercase letter!";
$messageType = "danger";
} else if ($new_password !== $confirm_password) {
$message = "New passwords do not match!"; $message = "New passwords do not match!";
$messageType = "danger"; $messageType = "danger";
} else { } else {
@@ -74,6 +77,19 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$messageType = "danger"; $messageType = "danger";
} }
} }
function CheckPassword($password) {
if (strlen($password) < 8) {
return false;
}
if (!preg_match('/[0-9]/', $password)) {
return false;
}
if (!preg_match('/[A-Z]/', $password)) {
return false;
}
return true;
}
?> ?>
<!DOCTYPE html> <!DOCTYPE html>