diff --git a/bin/WebSocketServer.php b/bin/WebSocketServer.php index 5ef435b..35085cd 100644 --- a/bin/WebSocketServer.php +++ b/bin/WebSocketServer.php @@ -38,7 +38,7 @@ class WebSocketServer implements MessageComponentInterface { foreach ($this->connectionsData as $connectionData) { if ($connectionData["username"] !== $username) { - $connectionData["connection"]->send("{\"sender\": \"{$username}\",\"msg\": \"{$msg}\""); + $connectionData["connection"]->send("{\"sender\": \"{$username}\",\"msg\": \"{$msg}\"}"); } } } @@ -72,7 +72,7 @@ class WebSocketServer implements MessageComponentInterface if ($index === null) return; if ($this->connectionsData[$index]["username"]) { - $msgContent = $decodedMsg["msg"] ?? null; + $msgContent = $decodedMsg["message"] ?? null; if ($msgContent) { $this->sendToAllAuthenticated($this->connectionsData[$index]["username"], $msgContent); $from->send("{\"success\"}: \"message send\""); diff --git a/public/index.php b/public/index.php index 1dd8046..06d61d3 100644 --- a/public/index.php +++ b/public/index.php @@ -82,13 +82,13 @@ $html->content = <<<'HTML' ws.onmessage = (event) => { const text = event.data; - if (text === 'authenticated') { + if (text === '{"success"}: "authenticated"') { log('Authenticated.', 'system'); setAuthenticated(true); - } else if (text === 'invalid token') { + } else if (text === '{"error"}: "invalid token"') { log('Invalid token. Connection closed.', 'error'); ws.close(); - } else if (text === 'not authenticated') { + } else if (text === '{"error"}: "you are not authenticated"') { log('Server: not authenticated', 'error'); } else { try { diff --git a/src/Database/Handler.php b/src/Database/Handler.php index 206eef1..c7a6b69 100644 --- a/src/Database/Handler.php +++ b/src/Database/Handler.php @@ -60,11 +60,11 @@ class Handler } public function userExists(string $username): bool { - $statement = $this->pdo->prepare("SELECT * FROM users WHERE username = :username"); + $statement = $this->pdo->prepare("SELECT 1 FROM users WHERE username = :username"); $statement->execute([ - $username + "username" => $username ]); - return $statement->rowCount() > 0; + return (bool) $statement->fetchColumn(); } public function getPasswordHash(string $username): string { diff --git a/src/Http/LoginController.php b/src/Http/LoginController.php index 479aaaf..5a269ec 100644 --- a/src/Http/LoginController.php +++ b/src/Http/LoginController.php @@ -27,7 +27,7 @@ class LoginController implements HttpServerInterface $responseHead = "400"; $json = json_encode(["error" => "Not enough params"]); } - else if (!Handler::getInstance()->userExists($username) == !password_verify($password, Handler::getInstance()->getPasswordHash($username))) + else if (!Handler::getInstance()->userExists($username) || !password_verify($password, Handler::getInstance()->getPasswordHash($username))) { $login = false; $responseHead = "409";