Бяспека

Як заблакаваць доступ з пэўных краін у WordPress праз .htaccess (Геаблакіроўка)

  • 10 хвілін на чытанне
  • Каманда Hostragons
Як заблакаваць доступ з пэўных краін у WordPress праз .htaccess (Геаблакіроўка)

Блакіроўка доступу да WordPress сайта з пэўных краін праз .htaccess, таксама вядомая як геаблакіроўка, гэта спосаб адхіляць наведвальнікаў з выбраных краін на ўзроўні сервера. Для рэалізацыі звычайна выкарыстоўваюцца правілы .htaccess на Apache ці LiteSpeed, GeoIP/MaxMind базы, IP-блокі, а таксама CDN/WAF сэрвісы. Важна разумець: сам файл .htaccess не вызначае краіну наведвальніка, пакуль сервер не перадае гэтую інфармацыю як зменную або пакуль не дададзены IP-дыяпазоны адпаведных краін у правілы.

У гэтым артыкуле разбіраем, як працуе блакіроўка па краінах у WordPress праз .htaccess, калі гэта мэтазгодна, якія прыклады правіл існуюць, як іх бяспечна прымяняць і якія памылкі сустракаюцца часцей за ўсё. Мэта — не проста даць код, а дапамагчы пазбегнуць 500 памылак, SEO-праблем, збояў аплаты/інтэграцый і выпадковай блакіроўкі Googlebot. Калі ваш сайт WordPress размяшчаецца на Hostragons, перад зменамі абавязкова зрабіце рэзервовую копію файлаў і ўносіце змяненні паступова хостынг WordPress.

Што такое геаблакіроўка і для чаго яна ў WordPress?

Геаблакіроўка — гэта абмежаванне доступу па геаграфічным прынцыпе. Звычайна разлічваецца па IP-адрасе наведвальніка. Напрыклад, інтэрнэт-крама, якая прадае толькі ў Беларусі, можа сутыкнуцца з масавымі фэйкавымі рэгістрацыямі, спамам або брутфорс-атакамі з іншых краін і вырашыць абмежаваць доступ.

У WordPress геаблакіроўка выкарыстоўваецца для:

  • Зніжэння колькасці шкодных спробаў ўваходу ў адмін-панэль.
  • Зменшэння спаму ў каментарах, фэйкавых рэгістрацый і падачы формаў.
  • Абмежавання доступу па ліцэнзіі, аўтарскіх правах або юрыдычных прычынах.
  • Аховы серверных рэсурсаў ад нецікавых рынкаў.
  • Зменшэння непатрэбных запытаў з рэгіёнаў, дзе не працуе аплата, дастаўка або сэрвісы.

Аднак геаблакіроўка не заменіць поўнасцю firewall. IP можа быць вызначаны няправільна, можна абыйсці праз VPN ці проксі, і частка легальных карыстальнікаў можа быць заблакаваная выпадкова. Таму блакіроўка па краінах павінна выкарыстоўвацца разам з базавай бяспекай: моцныя паролі, двухфактарная аўтэнтыфікацыя, абноўлены WordPress, надзейныя плагіны, SSL-сертыфікат і рэгулярнае рэзервовае капіраванне Сертыфікат SSL.

Як .htaccess працуе з інфармацыяй пра краіну?

.htaccess — магутны файл для канфігурацыі каталогаў на Apache і LiteSpeed. Ён кіруе пастаяннымі спасылкамі, перанакіраваннямі, кэшаваннем, доступам да файлаў і часткай бяспекі. Але па змаўчанні .htaccess не ведае, з якой краіны IP.

Для блакіроўкі па краінах існуе тры падыходы:

  • Калі на серверы актыўны GeoIP або MaxMind модуль, можна пісаць правілы па зменнай з кодам краіны.
  • Дадаць IP-дыяпазоны краін у файл .htaccess для блакіроўкі.
  • Блакіроўку рэалізаваць праз CDN/WAF або бяспечны плагін, а .htaccess выкарыстоўваць дадаткова.

На 2026 год найбольш надзейны спосаб — CDN/WAF або серверныя MaxMind-рашэнні, бо IP-дыяпазоны часта змяняюцца і тысячы радкоў у .htaccess могуць зніжаць прадукцыйнасць. Але для лакальных і простых задач .htaccess застаецца зручным інструментам.

Што трэба зрабіць перад пачаткам?

Няправільна адрэдагаваны .htaccess можа зрабіць сайт недаступным. Найбольш частыя вынікі — 500 Internal Server Error, перанакіравальныя цыклы, праблемы з доступам да wp-admin і нечаканыя 403 Forbidden. Таму перад зменамі ў жывым сайце выканайце наступнае:

  • Спампуйце бягучы .htaccess і зрабіце дату рэзервовай копіі.
  • Зрабіце рэзервовую копію файлаў і базы WordPress Рэзервовае капіраванне сайта.
  • Праверце доступ праз хостынг-панэль або FTP.
  • Спачатку ўвядзіце адзін тэставы правіла, не дадавайце шмат краін ці IP адразу.
  • Пераканайцеся, што Googlebot, аплатныя, кур'ерскія, API і CDN IP-дыяпазоны не закрануты.
  • Пратэстуйце доступ з розных сетак, не толькі з свайго браўзера.

На практыцы памылкі найчасцей вынікаюць з няправільнага месцавання правілаў. WordPress мае ўласны блок перанакіраванняў паміж радкамі BEGIN WordPress і END WordPress. Дадатковыя правілы лепш ставіць перад гэтым блокам. Бо пры змене пастаянных спасылак WordPress можа перазапісаць свой блок.

Метад 1: GeoIP або MaxMind-пераменная для блакіроўкі праз .htaccess

Калі сервер перадае код краіны як зменную, можна абмежаваць доступ у .htaccess па гэтай зменнай. У старых установках гэта mod_geoip, у новых — MaxMind GeoLite2, mod_maxminddb і аналагі. Назва зменнай залежыць ад канфігурацыі: GEOIP_COUNTRY_CODE, MM_COUNTRY_CODE, GEOIP_COUNTRY_CODE_V6 і інш.

Прыклад логікі

Прыклад ніжэй абапіраецца на зменную GEOIP_COUNTRY_CODE і паказвае, як заблакаваць пэўныя краіны. Перад выкарыстаннем праверце, якая зменная падтрымліваецца ў вашага хостынга.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(RU|CN|KP)$
RewriteRule ^ - [F,L]
</IfModule>

Тут запыты з RU, CN і KP атрымаюць 403 Forbidden. Коды краін — па ISO 3166-1 alpha-2 (BY — Беларусь, PL — Польшча, US — ЗША і г.д.). Краіны можна аддзяляць знакам “|”.

Блакіроўка толькі для wp-login.php

Звычайна лепш блакіраваць не ўвесь сайт, а толькі старонку ўваходу ў WordPress. Так кантэнт даступны ўсім, а доступ да wp-login.php — толькі з патрэбных краін.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/wp-login\.php$ [NC]
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(RU|CN)$
RewriteRule ^ - [F,L]
</IfModule>

Такім чынам, асноўныя старонкі застаюцца адкрытымі, а попыт на ўваход абмежаваны. Гэта эфектыўна супраць брутфорс-атак, бо яны накіраваны менавіта на wp-login.php і xmlrpc.php.

Метад 2: IP-дыяпазоны краін у .htaccess

Калі GeoIP зменнай няма, можна тэарэтычна дадаць IP-блокі краін у .htaccess. Але гэта патрабуе шмат часу і рэгулярнага абнаўлення, бо IP-дыяпазоны часта змяняюцца. Для вялікіх краін — тысячы CIDR-блокаў, што ўплывае на прадукцыйнасць.

У Apache 2.4+ для блакіроўкі IP можна выкарыстоўваць Require not ip. Прыклад:

<RequireAll>
Require all granted
Require not ip 203.0.113.0/24
Require not ip 198.51.100.0/24
</RequireAll>

Гэта прыклад з дакументацыі, не рэальныя IP краін. Для блакіроўкі выкарыстоўвайце актуальныя CIDR з надзейных крыніц. Калі вам трэба дадаць сотні ці тысячы IP, лепш рэалізаваць гэта на firewall, WAF або CDN.

Метад 3: Геаблакіроўка праз CDN/WAF і дадатковыя правілы .htaccess

У сучаснай бяспецы WordPress найбольш маштабаваны спосаб — блакіроўка праз CDN або WAF (Cloudflare, Sucuri, LiteSpeed Web ADC, Imunify360 і інш.). Так запыты фільтруюцца да траплення на сервер, зніжаецца нагрузка на CPU, RAM і PHP.

.htaccess можа выкарыстоўвацца для дадатковых задач: правільна перадаваць IP кліента з CDN, абмежаваць доступ да пэўных файлаў, дадаткова абараніць wp-login.php. Але асноўную блакіроўку лепш перадаць CDN/WAF — гэта стабільней для сайтаў з вялікім трафікам.

Параўнанне метадаў

Параўнанне метадаў
МетадПлюсыМінусыДля каго?
.htaccess + GeoIP зменнаяХутка, на ўзроўні сервера, незалежна ад плагінаў.Патрэбна GeoIP/MaxMind падтрымка; назва зменнай розная.Сайты на Apache/LiteSpeed з тэхнічнай падтрымкай.
.htaccess + IP-дыяпазоныБез дадатковых модуляў; зручна для малых IP-лістоў.Праблемы з прадукцыйнасцю і абслугоўваннем для вялікіх спісаў.Калі трэба блакіраваць некалькі IP-блокаў.
CDN/WAFФільтруе да сервера; лёгкае кіраванне; аналітыка.Патрэбна настройка сэрвісу; магчыма выпадкова закрануць карыстальнікаў.Сайты з высокім трафікам і патрэбай у бяспецы.
WordPress плагін бяспекіКіруецца з панэлі; не патрабуе тэхнічных ведаў.Працягвае пасля запуску PHP; можа з'есці рэсурсы.Малыя і сярэднія сайты, дзе не хочуць рэдагаваць код.

Пакрокава: Бяспечная геаблакіроўка праз .htaccess у WordPress

Пакрокава: Бяспечная геаблакіроўка праз .htaccess у WordPress

1. Дакладна вызначце, што блакіруеце

Ці патрэбна блакіраваць увесь сайт, толькі wp-login.php, або асобныя пункты (xmlrpc.php)? Блакіроўка ўсяго сайта можа негатыўна ўплываць на SEO, брэнд і кліентаў. Абмежаванне толькі адміністрацыйных або атакуемых зон — больш бяспечны выбар.

2. Аналізуйце трафік

Перад зменамі вывучыце логі за 7-14 дзён, справаздачы бяспекі і аналітыку. Калі атака з краіны — 60% усіх атак, але толькі 3% трафіку, блакіроўка мэтазгодна. Калі ж 12% продажаў з гэтай краіны — блакіроўка можа нашкодзіць бізнесу.

3. Праверце падтрымку сервера

Выясніце, працуе ваш сайт на Apache, LiteSpeed ці Nginx. .htaccess працуе толькі ў Apache/LiteSpeed; для Nginx трэба іншыя метады. Пры выбары хостынга на Hostragons важна ўлічваць сумяшчальнасць WordPress, бэкапы, SSL і бяспеку Вэб-хостынг.

4. Дадайце тэставую правіла

Пачніце з аднаго тэставага правіла для краіны ці IP-блока. Ставіце яго перад WordPress-блокам у .htaccess. Праверце працу галоўнай старонкі, wp-admin, тавараў, формаў і аплаты.

5. Маніторынг логаў

Адсочвайце колькасць і крыніцы 403 адказаў. Калі іх занадта шмат — правіла працуе шырока. Калі сайт за CDN, сервер можа бачыць IP CDN, а не наведвальніка — у такім выпадку блакіроўка можа быць памылковай.

6. Дакументуйце правілы

Дадавайце каментары ў .htaccess: якую краіну, чаму, калі і хто блакіраваў. Напрыклад: # 2026-02-15: абмежаванне RU і CN для wp-login з-за атак.

SEO: на што звярнуць увагу

Геаблакіроўка ўплывае на SEO. Googlebot звычайна скануе з IP у ЗША. Калі заблакіраваць US на ўсім сайце, Google не зможа яго сканаваць — гэта прывядзе да страты індэксацыі, падзення пазіцый і памылак у Search Console.

Для бяспекі SEO:

  • Не блакіруйце Googlebot, Bingbot і іншых важных пошукавых ботаў.
  • Пры міжнародным характару сайта праверце hreflang, canonical і перанакіраванні.
  • 403-старонкі павінны паказваць тлумачэнне, а не пустое паведамленне — так вы захоўваеце давер.
  • Пасля зменаў сачыце за Search Console (Coverage, Crawl Stats, Page Experience).
  • Не выкарыстоўвайце геаблакіроўку для скрытага паказу або рознага кантэнту — гэта можа быць расцэнена як cloaking.

Для блогаў, SaaS, турызму, экспарту і падобных праектаў блакіроўка краін павінна быць абдуманай. Калі мэта — зменшыць спам, лепш ужываць reCAPTCHA, rate limiting, плагін бяспекі або WAF.

Ці дастаткова геаблакіроўкі для бяспекі?

Не. Геаблакіроўка зніжае рызыку, але не спыняе атакі — іх можна абыйсці праз VPN, проксі, ботнеты, воблачныя IP. Для бяспекі WordPress патрэбен комплексны падыход:

  • Абнаўляйце WordPress, тэмы і плагіны.
  • Выкарыстоўвайце унікальныя лагіны і моцныя паролі для адміністратараў.
  • Уключайце двухфактарную аўтэнтыфікацыю.
  • Ужывайце rate limiting для wp-login.php і xmlrpc.php.
  • Выдаляйце непатрэбныя плагіны і не выкарыстоўвайце тэмы з невядомых крыніц.
  • Уключайце SSL для ўсіх злучэнняў Сертыфікат SSL.
  • Рэгулярна рабіце бэкапы і план аднаўлення.

Якасная хостынг-платформа таксама важная: ізаляцыя рэсурсаў, актуальная версія PHP, антывірус, аўтаматычныя бэкапы, хуткая падтрымка — усё гэта ўплывае на бяспеку Бяспечны WordPress хостынг.

Частыя памылкі і іх вырашэнне

Памылка 1: вялікія IP-спісы ў .htaccess

Тысячы радкоў IP-блакіроўкі зніжаюць прадукцыйнасць. Выкарыстоўвайце CDN/WAF або firewall для такіх задач.

Памылка 2: блакіроўка Googlebot і інтэграцый

Аплатныя, email, кур’ерскія, API-сэрвісы могуць працаваць з розных краін. Правярайце логи пасля змен, дадавайце важныя сэрвісы ў whitelist.

Памылка 3: чакаць .htaccess у Nginx

Nginx не падтрымлівае .htaccess. Для Nginx рэалізуйце правілы ў канфігурацыі сервера або выкарыстоўвайце CDN/плагін бяспекі.

Памылка 4: рэдагаванне жывога файла без бэкапу

Памылка ў адным сімвале можа зрабіць сайт недаступным. Перад зменамі копіюйце змест у асобны файл.

Памылка 5: блакіроўка "на вока", без аналізу

Блакіроўка без аналізу можа прывесці да страты кліентаў. Спачатку вывучыце логи, справаздачы і канверсію. Калі трэба, блакіруйце толькі wp-login.php ці формы.

Альтэрнатывы: Плагіны, firewall і серверныя рашэнні

Калі не хочаце працаваць з кодам, у WordPress ёсць бяспечныя плагіны з функцыяй блакіроўкі па краінах. Але яны працуюць пасля запуску PHP, таму не заўсёды абараняюць сервер так эфектыўна, як .htaccess або WAF. Для малых сайтаў — гэта зручна.

На серверным узроўні можна блакіраваць IP/CIDR праз CSF, firewalld, iptables або панэль хостынга. Гэта працуе раней, чым .htaccess. Але ў shared-hosting доступ да такіх налад, як правіла, няма. У такім выпадку звярніцеся ў падтрымку Hostragons або выбірайце кіраваную хостынг-платформу Пакеты хостынгу.

Чэк-ліст пасля прымянення геаблакіроўкі

Пасля дадання правілаў не лічыце працэс завершаным, пакуль не праверыце:

  • Доступ да галоўнай, катэгорыяў, артыкулаў, тавараў, кошыка.
  • Доступ да wp-admin і wp-login.php з дазволеных краін.
  • Праца формаў сувязі, рэгістрацыі, аплаты.
  • Тэст у Search Console (live URL test).
  • Памылкі 500 і нечаканыя 403 у логах сервера.
  • Калі выкарыстоўваеце CDN — ачысціце кэш і праверце перадачу IP.
  • Дадайце мэту і дату правіла ў дакументацыю каманды.

Гэтыя праверкі асабліва важныя для сайтаў, якія прыносяць даход. Простае правіла можа ўплываць на аплату, якасць рэкламы, email-верыфікацыю або API-інтэграцыі API і інтэграцыі.

Частыя пытанні

Ці можна заблакіраваць доступ з пэўных краін у WordPress праз .htaccess?

Так, можна, калі сервер перадае GeoIP/MaxMind зменную або вы дадаеце IP-дыяпазоны краін. Сам .htaccess не ведае краіну IP без гэтых дадзеных.

Ці шкодзіць блакіроўка па краінах SEO?

Можа нашкодзіць, калі блакіруеце Googlebot або CDN IP. Замест блакіроўкі ўсяго сайта лепш абмяжуйце толькі wp-login.php і іншыя крытычныя зоны.

Якія коды краін выкарыстоўваць?

ISO 3166-1 alpha-2: BY — Беларусь, DE — Германія, US — ЗША, FR — Францыя і інш. Формат залежыць ад GeoIP зменнай сервера.

Ці працуе .htaccess ў Nginx?

Не. Nginx не падтрымлівае .htaccess. Для Nginx трэба наладжваць серверныя канфігурацыі, map/geo модулі, WAF/CDN або плагін.

Ці абараняе геаблакіроўка ад VPN-атак?

Не поўнасцю. Атакі з VPN, проксі, ботнетаў могуць абыйсці геаблакіроўку. Гэта дадатковы пласт, які трэба спалучаць з двухфактарнай аўтэнтыфікацыяй, WAF, абнаўленнямі, моцнымі паролямі і бэкапам.

Кароткі вынік і наступныя крокі

Блакіроўка доступа з пэўных краін праз .htaccess у WordPress, калі правільна наладжана, дапамагае зменшыць спам, брутфорс і непатрэбны трафік. Самы бяспечны падыход — аналізаваць дадзеныя, абмяжоўваць толькі патрэбныя зоны, рабіць бэкапы, тэставаць і маніторыць логи. Для маштабных задач CDN/WAF або серверныя рашэнні — больш прадукцыйныя. Калі шукаеце надзейную, хуткую і стабільную платформу для WordPress, азнаёмцеся з хостынг, дамен і SSL-рашэннямі Hostragons і выбірайце канфігурацыю з улікам вашых патрэб праверка дамена хостынг WordPress.

Падзяліцеся гэтым артыкулам:

Каманда Hostragons

Актуальныя кіраўніцтва ад нашай каманды экспертаў па хостынгу, серверах і даменных імёнах. Давайце разам знойдзем правільнае рашэнне для вашага праекта.

Звяжыцеся з намі