diff --git a/backend/auth/otp/verify.php b/backend/auth/otp/verify.php index a6d5b82..f11625f 100644 --- a/backend/auth/otp/verify.php +++ b/backend/auth/otp/verify.php @@ -177,8 +177,10 @@ try { $isRegistered = false; $driverData = null; - $chkStmt = $con->prepare("SELECT id, first_name, last_name, email, phone FROM driver WHERE phone = ?"); - $chkStmt->execute([$encryptionHelper->encryptData($phone_number)]); + global $blindIndex; + $phoneBidx = $blindIndex ? $blindIndex->index('driver.phone', $phone_number) : null; + $chkStmt = $con->prepare("SELECT id, first_name, last_name, email, phone FROM driver WHERE phone = ? OR (? IS NOT NULL AND phone_bidx = ?)"); + $chkStmt->execute([$encryptionHelper->encryptData($phone_number), $phoneBidx, $phoneBidx]); $driver = $chkStmt->fetch(PDO::FETCH_ASSOC); // Generate driverID for unregistered users (hash of phone) @@ -268,13 +270,14 @@ try { $stmtUpd->bindParam(':id', $matchedRowId, PDO::PARAM_INT); $stmtUpd->execute(); - // Check registration status $isRegistered = false; $passengerData = null; $passengerID = ''; - $chkStmt = $con->prepare("SELECT id, first_name, last_name, email, phone FROM passengers WHERE phone = ?"); - $chkStmt->execute([$encryptionHelper->encryptData($phone_number)]); + global $blindIndex; + $phoneBidx = $blindIndex ? $blindIndex->index('passengers.phone', $phone_number) : null; + $chkStmt = $con->prepare("SELECT id, first_name, last_name, email, phone FROM passengers WHERE phone = ? OR (? IS NOT NULL AND phone_bidx = ?)"); + $chkStmt->execute([$encryptionHelper->encryptData($phone_number), $phoneBidx, $phoneBidx]); $passenger = $chkStmt->fetch(PDO::FETCH_ASSOC); if ($passenger) {