prepare("SELECT id,password_hash,salt FROM users WHERE login = ?"); $s->bind_param("s", $login); $s->execute(); $d = $s->get_result()->fetch_assoc(); // Wrong login if (!(bool)$d) return new ReturnT(err_code: E_AUT_WRONGCREDS, err_desc: "wrong login or password"); $suppl_pwd_hash = hash("sha256", $password . $d["salt"], true); $real_pwd_hash = $d["password_hash"]; // Wrong password if ($suppl_pwd_hash !== $real_pwd_hash) return new ReturnT(err_code: E_AUT_WRONGCREDS, err_desc: "wrong login or password"); // Actions $_SESSION["userid"] = $d["id"]; $THIS_USER = $d["id"]; return new ReturnT(data: true); } if (Utils_ThisFileIsRequested(__FILE__)) { require_once("../_json.php"); // HACK: for debugging purposes. Will be removed later if ($Config["debug"]) $_POST = $_REQUEST; // Log into account $result = User_Login_Method($_POST); // Checking result if ($result->IsError()) $result->ThrowJSONError(); else JSON_ReturnData(["success" => $result->GetData()]); } ?>