Як заблокувати доступ до вашого сайту з певної країни, використовуючи Hostinger

У сьогоднішньому взаємопов’язаному світі може бути кілька причин, чому ви захочете обмежити доступ до вашого вебсайту з певних країн. Це може бути через ліцензійні угоди, юридичні зобов'язання чи стратегії націленої аудиторії. Контроль того, хто може переглядати ваш сайт, є важливим. Цей блог проведе вас через кроки блокування доступу до вашого сайту в Індії, одночасно дозволяючи доступ з країн, таких як Великобританія, США, Нова Зеландія, ОАЕ, Китай та інших.

Чому важливо обмежити доступ?

Перед тим як поринути в технічні деталі, важливо зрозуміти, чому вам може знадобитися заблокувати доступ:

  • Юридична відповідність: певний контент може бути заборонений в конкретних країнах.
  • Проблеми безпеки: для захисту від спаму чи зловмисних атак, що походять з певного регіону.
  • Управління ресурсами: для оптимізації навантаження на сервер та пропускної здатності, обмежуючи доступ до вашої цільової аудиторії.

Методи блокування доступу з певної країни

1. Використання файлу .htaccess (для серверів Apache)

Якщо ваш сайт розміщений на сервері Apache (який зазвичай використовує Hostinger), ви можете змінити файл .htaccess, щоб заблокувати IP-адреси, пов’язані з Індією.

Крок 1: Отримання діапазонів IP-адрес Індії

  • Відвідайте сайти, такі як IP2Location або Country IP Blocks, щоб завантажити список діапазонів IP для Індії.

Крок 2: Редагування файлу .htaccess

  • Зайдіть в кореневу директорію вашого сайту через менеджер файлів Hostinger або FTP-клієнт.
  • Знайдіть файл .htaccess. Якщо його немає, створіть новий.
  • Відкрийте файл і додайте наступний код:

 Require all granted  
 Require not ip 1.6.0.0/15  
 Require not ip 1.22.0.0/15  
 Require not ip 1.38.0.0/16  
 # Додайте всі інші діапазони IP для Індії тут  

  • Замініть діапазони IP на ті, що ви отримали для Індії.

Примітка: Цей метод потребує регулярних оновлень, оскільки розподіл IP може змінюватися.

2. Використання функції гео-блокування від Cloudflare

Cloudflare — це мережа доставки контенту (CDN), яка пропонує потужні функції безпеки, зокрема гео-блокування.

Крок 1: Зареєструйтесь та налаштуйте Cloudflare

  • Створіть безкоштовний акаунт на Cloudflare.
  • Додайте свій сайт в Cloudflare та оновіть сервери імен вашого домену згідно з інструкціями.

Крок 2: Налаштування правил файрволу

  • Перейдіть до розділу “Firewall” у панелі керування Cloudflare.
  • Натисніть на “Firewall Rules”, а потім “Create a Firewall Rule”.
  • Налаштуйте правило наступним чином:
  • Поле: “Country”
  • Оператор: “equals”
  • Значення: “India”
  • Дія: “Block”
  • Збережіть правило.

Переваги:

  • Простота використання: не потрібно вручну обробляти діапазони IP.
  • Автоматичні оновлення: Cloudflare підтримує актуальні дані про IP.

3.

Реалізація гео-блокування на PHP

Якщо ваш сайт використовує PHP, ви можете програмно блокувати користувачів на основі їхнього географічного розташування.

Крок 1: Встановіть базу даних GeoIP

  • Завантажте базу даних MaxMind GeoLite2 Country.
  • Завантажте файл .mmdb в безпечну директорію на вашому сервері.

Крок 2: Додайте код PHP на ваш сайт

  • Включіть наступний код на початку ваших PHP файлів або в конфігураційний файл, який завантажується на кожній сторінці:

Включіть наступний код на початку ваших PHP файлів або в конфігураційний файл, який завантажується на кожній сторінці:

country($_SERVER['REMOTE_ADDR']);  
 if ($record->country->isoCode == 'IN') {  
 header('HTTP/1.0 403 Forbidden');  
 exit('Доступ заборонено');  
 }  
} catch (Exception $e) {  
 // Обробка помилок, якщо необхідно  
}  
?>
  • Замініть 'path/to/geoip2.phar' та '/path/to/GeoLite2-Country.mmdb' на фактичні шляхи на вашому сервері.

Примітки:

  • Встановлення через Composer: Можливо, вам потрібно буде встановити залежності за допомогою Composer.
  • Обробка помилок: Переконайтесь, що ви обробляєте виключення, щоб уникнути збоїв сайту.

Важливі моменти

  • Точність: Гео-блокування на основі IP-адрес не є на 100% точним через VPN та проксі-сервери.
  • Юридичні наслідки: Завжди переконайтесь, що ви дотримуєтесь міжнародних законів та регламентів при блокуванні доступу.
  • Користувацький досвід: Надавайте кастомізоване повідомлення про помилку або перенаправлення, щоб пояснити користувачам, чому їх заблоковано.

Висновок

Блокування доступу до вашого сайту з певних країн є простим процесом за допомогою правильних інструментів. Незалежно від того, чи ви хочете змінити конфігурації сервера, використовувати сторонні сервіси, такі як Cloudflare, або реалізувати рішення на основі коду, у вас є кілька варіантів для досягнення вашої мети. Завжди пам'ятайте про оновлення ваших методів і моніторинг доступності сайту, щоб забезпечити безперебійний доступ для вашої цільової аудиторії.

Перекладено з: How to Block Access to Your Website from a Specific Country Using Hostinger