From d210f408dc9c93edbd888428364f1973d8fcbbd8 Mon Sep 17 00:00:00 2001 From: Zankaria Date: Thu, 24 Apr 2025 00:58:10 +0200 Subject: [PATCH] post.php: use IpBlacklistService to check for spam ips via DNS --- post.php | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/post.php b/post.php index fb927987..1478b733 100644 --- a/post.php +++ b/post.php @@ -8,7 +8,7 @@ require_once 'inc/bootstrap.php'; use Vichan\{Context, WebDependencyFactory}; use Vichan\Data\Driver\{LogDriver, HttpDriver}; use Vichan\Data\ReportQueries; -use Vichan\Service\{RemoteCaptchaQuery, SecureImageCaptchaQuery}; +use Vichan\Service\{IpBlacklistService, RemoteCaptchaQuery, SecureImageCaptchaQuery}; use Vichan\Functions\{Format, IP}; /** @@ -373,7 +373,10 @@ if (isset($_POST['delete'])) { } } - checkDNSBL(); + $blacklist = $context->get(IpBlacklistService::class)->isIpBlacklisted($_SERVER['REMOTE_ADDR']); + if ($blacklist !== false) { + error(\sprintf($config['error']['dnsbl'], $blacklist)); + } // Check if board exists if (!openBoard($_POST['board'])) @@ -468,7 +471,10 @@ if (isset($_POST['delete'])) { } } - checkDNSBL(); + $blacklist = $context->get(IpBlacklistService::class)->isIpBlacklisted($_SERVER['REMOTE_ADDR']); + if ($blacklist !== false) { + error(\sprintf($config['error']['dnsbl'], $blacklist)); + } // Check if board exists if (!openBoard($_POST['board'])) @@ -661,7 +667,10 @@ if (isset($_POST['delete'])) { (!isset($_SERVER['HTTP_REFERER']) || !preg_match($config['referer_match'], rawurldecode($_SERVER['HTTP_REFERER'])))) error($config['error']['referer']); - checkDNSBL(); + $blacklist = $context->get(IpBlacklistService::class)->isIpBlacklisted($_SERVER['REMOTE_ADDR']); + if ($blacklist !== false) { + error(\sprintf($config['error']['dnsbl'], $blacklist)); + } if ($post['mod'] = isset($_POST['mod']) && $_POST['mod']) {