From bb5d34e0f001c5874c4c17b3149a68df786208fa Mon Sep 17 00:00:00 2001 From: Pinga <121483313+getpinga@users.noreply.github.com> Date: Fri, 1 Mar 2024 11:31:07 +0200 Subject: [PATCH] Preparation for better IP whitelisting --- das/helpers.php | 19 +++++++++++++++++++ rdap/helpers.php | 19 +++++++++++++++++++ whois/port43/helpers.php | 19 +++++++++++++++++++ 3 files changed, 57 insertions(+) diff --git a/das/helpers.php b/das/helpers.php index d67c25c..977072e 100644 --- a/das/helpers.php +++ b/das/helpers.php @@ -46,4 +46,23 @@ function isIpWhitelisted($ip, $pdo) { $stmt->execute([$ip]); $count = $stmt->fetchColumn(); return $count > 0; +} + +// Function to update the permitted IPs from the database +function updatePermittedIPs($pool, $permittedIPsTable) { + $pdo = $pool->get(); + $query = "SELECT addr FROM registrar_whitelist"; + $stmt = $pdo->query($query); + $permittedIPs = $stmt->fetchAll(PDO::FETCH_COLUMN, 0); + $pool->put($pdo); + + // Manually clear the table by removing each entry + foreach ($permittedIPsTable as $key => $value) { + $permittedIPsTable->del($key); + } + + // Insert new values + foreach ($permittedIPs as $ip) { + $permittedIPsTable->set($ip, ['addr' => $ip]); + } } \ No newline at end of file diff --git a/rdap/helpers.php b/rdap/helpers.php index f0fc6cb..c95a3c9 100644 --- a/rdap/helpers.php +++ b/rdap/helpers.php @@ -98,4 +98,23 @@ function isIpWhitelisted($ip, $pdo) { $stmt->execute([$ip]); $count = $stmt->fetchColumn(); return $count > 0; +} + +// Function to update the permitted IPs from the database +function updatePermittedIPs($pool, $permittedIPsTable) { + $pdo = $pool->get(); + $query = "SELECT addr FROM registrar_whitelist"; + $stmt = $pdo->query($query); + $permittedIPs = $stmt->fetchAll(PDO::FETCH_COLUMN, 0); + $pool->put($pdo); + + // Manually clear the table by removing each entry + foreach ($permittedIPsTable as $key => $value) { + $permittedIPsTable->del($key); + } + + // Insert new values + foreach ($permittedIPs as $ip) { + $permittedIPsTable->set($ip, ['addr' => $ip]); + } } \ No newline at end of file diff --git a/whois/port43/helpers.php b/whois/port43/helpers.php index 5ec119b..edd4e2b 100644 --- a/whois/port43/helpers.php +++ b/whois/port43/helpers.php @@ -58,4 +58,23 @@ function isIpWhitelisted($ip, $pdo) { $stmt->execute([$ip]); $count = $stmt->fetchColumn(); return $count > 0; +} + +// Function to update the permitted IPs from the database +function updatePermittedIPs($pool, $permittedIPsTable) { + $pdo = $pool->get(); + $query = "SELECT addr FROM registrar_whitelist"; + $stmt = $pdo->query($query); + $permittedIPs = $stmt->fetchAll(PDO::FETCH_COLUMN, 0); + $pool->put($pdo); + + // Manually clear the table by removing each entry + foreach ($permittedIPsTable as $key => $value) { + $permittedIPsTable->del($key); + } + + // Insert new values + foreach ($permittedIPs as $ip) { + $permittedIPsTable->set($ip, ['addr' => $ip]); + } } \ No newline at end of file