require 'vendor/autoload.php'; // Подключение автозагрузчика Composer
use GeoIp2\Database\Reader;
// Путь к файлу базы данных GeoLite2
$databaseFile = 'path/to/GeoLite2-Country.mmdb';
$reader = new Reader($databaseFile);
// Получение IP-адреса пользователя
$userIp = $_SERVER['REMOTE_ADDR'];
// Получение данных о местоположении по IP
try {
$record = $reader->country($userIp);
$countryCode = $record->country->isoCode;
} catch (Exception $e) {
// В случае ошибки определения местоположения, можно обработать ошибку здесь
$countryCode = 'unknown';
}
// Список стран, которым доступ запрещен
$blockedCountries = ['RU', 'UA'];
if (in_array($countryCode, $blockedCountries)) {
header('HTTP/1.1 403 Forbidden');
echo '403 Access denied from your area. Извините, доступ временно ограничен из вашего региона. Пока посетите Телеграмм
';
exit;
}
// Ваш остальной код здесь
?>
Установка MaxMind GeoIP2 через Composer composer require geoip2/geoip2:~2.0
Использование JavaScript
GeoIP Block
Не забудьте заменить YOUR_ACCESS_KEY на ваш ключ доступа к API ipstack.