diff --git a/src/server/cyberhex-code/install/create_admin.php b/src/server/cyberhex-code/install/create_admin.php
index 2051c49..276ef9c 100644
--- a/src/server/cyberhex-code/install/create_admin.php
+++ b/src/server/cyberhex-code/install/create_admin.php
@@ -49,7 +49,7 @@
$success=0;
die("Connection failed: " . $conn->connect_error);
}
- $stmt = $conn->prepare("INSERT INTO users (email, username, password,perms) VALUES (?, ?, ?, ?)");
+ $stmt = $conn->prepare("INSERT INTO users (email, username, password,perms,allow_pw_login) VALUES (?, ?, ?, ?,1)");
$stmt->bind_param("ssss", $email, $username, $hash, $permissions);
$email=htmlspecialchars($_POST["email"]);
diff --git a/src/server/cyberhex-code/install/create_db.php b/src/server/cyberhex-code/install/create_db.php
index 9bf1504..fb7873e 100644
--- a/src/server/cyberhex-code/install/create_db.php
+++ b/src/server/cyberhex-code/install/create_db.php
@@ -68,6 +68,7 @@
telegram_id VARCHAR(255),
user_hex_id VARCHAR(255),
credential_id VARBINARY(64),
+ allow_pw_login INT,
public_key TEXT,
counter INT
)";
diff --git a/src/server/cyberhex-code/system/insecure_zone/php/login.php b/src/server/cyberhex-code/system/insecure_zone/php/login.php
index 7941e18..db9a38b 100644
--- a/src/server/cyberhex-code/system/insecure_zone/php/login.php
+++ b/src/server/cyberhex-code/system/insecure_zone/php/login.php
@@ -271,19 +271,27 @@ async function checkRegistration() {
// Check if the user exists and verify the password
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
- if (password_verify($password, $row['password'])) {
- $_SESSION["username"]=$username;
- $_SESSION["login"]=true;
- $_SESSION["perms"]=$row["perms"];
- $_SESSION["email"]=$row["email"];
- $_SESSION["telegram_id"]=$row["telegram_id"];
-
- echo '';
- exit();
- } else {
+ if($row["allow_pw_login"]==1){
+ if (password_verify($password, $row['password'])) {
+ $_SESSION["username"]=$username;
+ $_SESSION["login"]=true;
+ $_SESSION["perms"]=$row["perms"];
+ $_SESSION["email"]=$row["email"];
+ $_SESSION["telegram_id"]=$row["telegram_id"];
+ $_SESSION["allow_pw_login"]=$row["allow_pw_login"];
+
+ echo '';
+ exit();
+ } else {
+ echo '
+ Incorrect username or password.
+
';
+ }
+ }
+ else{
echo '
- Incorrect username or password.
-
';
+ Password login is disabled on your account. Please use your passkey
+ ';
}
} else {
echo '
diff --git a/src/server/cyberhex-code/system/secure_zone/php/add_user.php b/src/server/cyberhex-code/system/secure_zone/php/add_user.php
index 6a0b395..e73e660 100644
--- a/src/server/cyberhex-code/system/secure_zone/php/add_user.php
+++ b/src/server/cyberhex-code/system/secure_zone/php/add_user.php
@@ -156,7 +156,7 @@ include "perms_functions.php";
$success=0;
die("Connection failed: " . $conn->connect_error);
}
- $stmt = $conn->prepare("INSERT INTO users (email, username, password,perms) VALUES (?, ?, ?, ?)");
+ $stmt = $conn->prepare("INSERT INTO users (email, username, password,perms,allow_pw_login) VALUES (?, ?, ?, ?,1)");
$stmt->bind_param("ssss", $email, $username, $hash, $permissions);
$email=htmlspecialchars($_POST["email"]);
diff --git a/src/server/cyberhex-code/system/secure_zone/php/passwd.php b/src/server/cyberhex-code/system/secure_zone/php/passwd.php
index a55c8b8..d4cd262 100644
--- a/src/server/cyberhex-code/system/secure_zone/php/passwd.php
+++ b/src/server/cyberhex-code/system/secure_zone/php/passwd.php
@@ -66,7 +66,6 @@ $email = $_SESSION["email"];
if (authenticatorAttestationServerResponse.success) {
reloadServerPreview();
window.alert(authenticatorAttestationServerResponse.msg || 'registration success');
- window.location.href = "end.php";
} else {
throw new Error(authenticatorAttestationServerResponse.msg);
}
diff --git a/src/server/cyberhex-code/system/secure_zone/php/profile.php b/src/server/cyberhex-code/system/secure_zone/php/profile.php
index 4d68757..f8c0977 100644
--- a/src/server/cyberhex-code/system/secure_zone/php/profile.php
+++ b/src/server/cyberhex-code/system/secure_zone/php/profile.php
@@ -21,6 +21,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
$email=htmlspecialchars($_POST["email"]);
$username_new=htmlspecialchars($_POST["username"]);
$telegram_id=htmlspecialchars($_POST["telegram_id"]);
+ $pw_login=isset($_POST["pw_login"]);
// Create connection
$conn = new mysqli($DB_SERVERNAME, $DB_USERNAME, $DB_PASSWORD,$DB_DATABASE);
@@ -29,8 +30,8 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
$success=0;
die("Connection failed: " . $conn->connect_error);
}
- $stmt = $conn->prepare("UPDATE users set email = ?, username = ?, telegram_id = ? where username = ?");
- $stmt->bind_param("ssss", $email, $username_new,$telegram_id, $username);
+ $stmt = $conn->prepare("UPDATE users set email = ?, username = ?, telegram_id = ?, allow_pw_login = ? where username = ?");
+ $stmt->bind_param("sssis", $email, $username_new,$telegram_id, $pw_login, $username);
$email=htmlspecialchars($_POST["email"]);
$username_new=htmlspecialchars($_POST["username"]);
@@ -42,6 +43,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
$_SESSION["username"]=$username;
$_SESSION["email"]=$email;
$_SESSION["telegram_id"]=$telegram_id;
+ $_SESSION["allow_pw_login"]=$pw_login;
}
?>
@@ -81,6 +83,18 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
+
+
+ ");
+ }else{
+ echo("");
+ }
+ ?>
+
+
+