У сьогоднішньому взаємопов’язаному світі може бути кілька причин, чому ви захочете обмежити доступ до вашого вебсайту з певних країн. Це може бути через ліцензійні угоди, юридичні зобов'язання чи стратегії націленої аудиторії. Контроль того, хто може переглядати ваш сайт, є важливим. Цей блог проведе вас через кроки блокування доступу до вашого сайту в Індії, одночасно дозволяючи доступ з країн, таких як Великобританія, США, Нова Зеландія, ОАЕ, Китай та інших.
Чому важливо обмежити доступ?
Перед тим як поринути в технічні деталі, важливо зрозуміти, чому вам може знадобитися заблокувати доступ:
- Юридична відповідність: певний контент може бути заборонений в конкретних країнах.
- Проблеми безпеки: для захисту від спаму чи зловмисних атак, що походять з певного регіону.
- Управління ресурсами: для оптимізації навантаження на сервер та пропускної здатності, обмежуючи доступ до вашої цільової аудиторії.
Методи блокування доступу з певної країни
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