v-wordpress-plugin-updater/v-update-api/app/Helpers/BlacklistHelper.php
Nikolai X. Shadeauxs 8fc3bc20ad
Some checks failed
CI & Security / CI Scan (push) Failing after 9s
CI & Security / CodeQL (JavaScript) (push) Failing after 6s
CI & Security / Semgrep (PHP) (push) Failing after 8s
modified: .github/copilot-instructions.md
modified:   CHANGELOG.md
	modified:   README.md
2026-04-06 14:39:21 -04:00

46 lines
1.1 KiB
PHP

<?php
// phpcs:ignoreFile PSR1.Files.SideEffects.FoundWithSymbols
/**
* Project: UpdateAPI
* Author: Vontainment <services@vontainment.com>
* License: https://opensource.org/licenses/MIT MIT License
* Link: https://vontainment.com
* Version: 4.5.0
*
* File: BlacklistHelper.php
* Description: IP blacklist checking helper
*/
namespace App\Helpers;
use App\Core\DatabaseManager;
use App\Core\ErrorManager;
use App\Models\BlacklistModel;
/**
* Static helper for IP blacklist operations.
*/
class BlacklistHelper
{
/**
* Determine whether the current request originates from a blacklisted IP.
*
* @return bool True when remote IP is valid and blacklisted.
*/
public static function isBlacklisted(): bool
{
$ip = filter_var($_SERVER['REMOTE_ADDR'] ?? '', FILTER_VALIDATE_IP);
if (!$ip) {
return false;
}
$blacklistModel = new BlacklistModel((new DatabaseManager())->getConnection());
if ($blacklistModel->isBlacklisted($ip)) {
ErrorManager::log("Blacklisted IP attempted access: $ip", 'error');
return true;
}
return false;
}
}