From d3d7c66e16c45220b79fbcab0e9dca5f139d923c Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Tue, 14 Jul 2026 00:56:50 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=92=20Fix=20hardcoded=20database=20cre?= =?UTF-8?q?dentials=20and=20SQL=20injection=20vulnerabilities?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaced hardcoded PDO credentials in `doLogin.php` and `addUser.php` with `getenv()` to securely load configuration. Also updated both files to use parameterized statements to prevent SQL injection vulnerabilities. Fixed syntax errors in `addUser.php`'s INSERT query. Co-authored-by: tsainez <13399044+tsainez@users.noreply.github.com> --- php/cookies_and_access_control/addUser.php | 14 +++++++++++--- php/cookies_and_access_control/doLogin.php | 11 ++++++++--- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/php/cookies_and_access_control/addUser.php b/php/cookies_and_access_control/addUser.php index bc91854..5fef9c3 100644 --- a/php/cookies_and_access_control/addUser.php +++ b/php/cookies_and_access_control/addUser.php @@ -2,10 +2,18 @@ $userName = $_POST["uName"]; $password = $_POST["myPassword"]; - $pdo = new PDO('mysql:host=192.168.64.2;db=lab10', 'lab10', 'lab10'); + $host = getenv('DB_HOST'); + $db = getenv('DB_NAME'); + $user = getenv('DB_USER'); + $pass = getenv('DB_PASS'); - $queryString = "INSERT INTO 'users' ('username', 'password') VALUES ('".$userName."','".$password."')"; + $pdo = new PDO("mysql:host=$host;dbname=$db", $user, $pass); + + $queryString = "INSERT INTO users (username, password) VALUES (:username, :password)"; $result = $pdo->prepare($queryString); - $result->execute(); + $result->execute([ + ':username' => $userName, + ':password' => $password + ]); ?> \ No newline at end of file diff --git a/php/cookies_and_access_control/doLogin.php b/php/cookies_and_access_control/doLogin.php index 658fb54..0233d39 100644 --- a/php/cookies_and_access_control/doLogin.php +++ b/php/cookies_and_access_control/doLogin.php @@ -28,11 +28,16 @@ } */ - $pdo = new PDO('mysql:host=192.168.64.2;db=lab10', 'lab10', 'lab10'); - $queryString = "SELECT * FROM users WHERE username = '".$userName."'"; + $host = getenv('DB_HOST'); + $db = getenv('DB_NAME'); + $user = getenv('DB_USER'); + $pass = getenv('DB_PASS'); + + $pdo = new PDO("mysql:host=$host;dbname=$db", $user, $pass); + $queryString = "SELECT * FROM users WHERE username = :username"; $result = $pdo->prepare($queryString); - $result->execute(); + $result->execute([':username' => $userName]); $validUser = False; for ($i=0; $row = $result->fetch(); $i++) {