---
title: 'kak-ogranichit-dostup-k-sajtu-po-ip-cherez-htaccess | Zomro'
description: ''
image: 'https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/06/30/01_12tI6TE_q50.jpg'
---

![opened image]()

  * [Zomro](https://zomro.com/rus/)
  * [FAQ](https://zomro.com/rus/blog/faq/)
  * Как ограничить доступ к сайту по IP через .htaccess 



# Как ограничить доступ к сайту по IP через .htaccess

16-06-2025

![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/06/30/01_12tI6TE_q50.jpg)

Ограничение доступа к сайту по IP-адресам — это один из базовых, но надёжных способов защитить определённые разделы сайта или ограничить доступ нежелательным пользователям. Такая задача может понадобиться в различных ситуациях: от защиты административной части до временной блокировки отдельных IP-адресов.

Данный механизм работает на уровне веб-сервера Apache и позволяет управлять доступом к сайту без необходимости использовать внешние файерволы. Все правила прописываются в файле `.htaccess`, который обрабатывается сервером при каждом обращении к сайту.

## Зачем фильтровать IP на уровне Apache

  * **Быстрое реагирование.** Файл `.htaccess` читается «на лету», поэтому изменения применяются без перезапуска сервера.

  * **Точная настройка.** Можно разрешать или запрещать целые каталоги, отдельные файлы либо типы файлов.

  * **Дополнительная защита.** Хорошо сочетается с файерволами, Fail2ban, VPN и WAF.




> Любая синтаксическая ошибка в `.htaccess` приведёт к `500 Internal Server Error`. Всегда тестируйте правила на стенде или делайте бэкап файла.

## Apache 2.2: директивы `Order / Allow / Deny`

_(В Apache 2.4 эти директивы работают только при включённом режиме совместимости.)_

### 

### 2.1 Блокировка отдельных IP
    
    
    
     
    
    
    Order Allow,Deny Allow from all Deny from 192.0.2.10 Deny from 203.0.113.0

### 

### 2.2 Доступ только из «белого списка»
    
    
    
     
    
    
    Order Deny,Allow Deny from all Allow from 192.0.2.50 Allow from 198.51.100.12

### 2.3 Сети в формате CIDR
    
    
     
    
    
    Order Allow,Deny Allow from all Deny from 198.51.100.0/24 # целая сеть Deny from 2001:db8:1234::/48 # IPv6

### 2.4 Ограничение каталога (пример `wp-admin`)

Разместите `.htaccess` внутри папки `wp-admin`:
    
    
    
     
    
    
    Order Deny,Allow Deny from all Allow from 192.0.2.100

### 2.5 Защита одного файла
    
    
    
     
    
    
    <Files ".env"> Order Deny,Allow Deny from all </Files>

Разрешить доступ только с нужного IP — добавьте `Allow`:
    
    
    
     
    
    
    <Files ".env"> Order Deny,Allow Deny from all Allow from 192.0.2.10 </Files>

### 2.6 Фильтр по типам файлов
    
    
    
     
    
    
    <FilesMatch "\.(png|gif)$"> Order Deny,Allow Deny from all # Allow from 192.0.2.30 # ← раскомментируйте при необходимости </FilesMatch>

## Apache 2.4: директива `Require`

В новых версиях используется модель доступа _mod_authz_core_.

### 3.1 Блокируем конкретные IP
    
    
    
     
    
    
    Require all granted Require not ip 192.0.2.10 198.51.100.0/24

### 3.2 Доступ только своим адресам
    
    
    
     
    
    
    Require ip 192.0.2.50 198.51.100.12 Require not all

### 3.3 Комбинированные правила
    
    
    
     
    
    
    <RequireAll> Require method GET POST # только просмотр и формы Require ip 192.0.2.0/24 </RequireAll>

  


## Когда трафик идёт через nginx → Apache

Установите **mod_remoteip** (или старый **mod_rpaf**).

В `apache2.conf` пропишите:
    
    
    
     
    
    
    RemoteIPHeader X-Forwarded-For RemoteIPTrustedProxy 127.0.0.1

В nginx передавайте реальный IP:
    
    
    
     
    
    
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

Без этих настроек Apache будет видеть лишь `127.0.0.1`, и правила `.htaccess` не сработают.

## Общие рекомендации

  * Для Apache 2.2 используйте `Order / Allow / Deny` или включите режим совместимости в 2.4.

  * На Apache 2.4 предпочтительнее директива `Require`.

  * Проверяйте конфигурацию командой `apachectl configtest` перед публикацией.

  * На связке nginx → Apache убедитесь, что настроены заголовки и модуль **mod_remoteip**.




IP-фильтрация на уровне `.htaccess` — быстрый способ укрепить безопасность сайта, особенно когда нет доступа к фаерволу или нужно оперативно заблокировать нежелательные запросы. Используйте её вместе с другими средствами — двухфакторной аутентификацией или Fail2ban — и ваш веб-ресурс станет заметно устойчивее к несанкционированным попыткам доступа.

Похожие статьи

[Как быстро настроить SFTP сервер в Windows](https://zomro.com/rus/blog/faq/394-quick-setup-of-the-sftp-server-on-windows-server) [Менеджер файлов cPanel](https://zomro.com/rus/blog/faq/177-menedzher-fajlov-cpanel) [Установка Python 3.13 на Ubuntu 24.04](https://zomro.com/rus/blog/faq/670-installing-python-313-on-ubuntu-2404) [Как установить PHP-FPM 8.* на Debian 13](https://zomro.com/rus/blog/faq/655-how-to-install-php-fpm-8-on-debian-13) [Основы работы в mysql](https://zomro.com/rus/blog/faq/264-osnovy-raboty-v-mysql)

[ Выделенные серверы от €88.80/мес ](/rus/dedicated-servers)
