403 Forbidden грешка: зошто се случува и како професионално се решава (WordPress / cPanel / LiteSpeed)
403 Forbidden значи дека серверот ја разбрал твојата барање, но одбива пристап до ресурсот (страница, фолдер, фајл). Во пракса, 403 најчесто е од: погрешни дозволи (permissions), .htaccess правила, WAF/безбедносен firewall, блокирање на IP/земја, или “hotlink/deny” правила на сервер.
1) Најчести причини за 403 (со брза дијагностика)
1.1 Погрешни permissions (фајлови/директориуми)
Ако дозволите се погрешни, серверот може да блокира пристап.
- Директориуми најчесто треба да се 755
- Фајлови најчесто треба да се 644
- Главниот фолдер public_html мора да има правилен owner/permissions
Брз тест: cPanel → File Manager → избери фајл/фолдер → Permissions и провери дали се “нормални” (755/644).
1.2 .htaccess правила (Deny, Rewrite, hotlink, security правила)
Една погрешна линија во .htaccess може да направи 403 за цел сајт или за одредени URL-а.
- Deny/Require правила што блокираат пристап
- Hotlink protection што блокира ресурси
- Погрешни rewrite правила
- Безбедносни правила што блокираат одредени query параметри
Брз тест: во root преименувај .htaccess во .htaccess.bak и пробај пак. Ако проработи, проблемот е во .htaccess.
1.3 WAF / Firewall блокирање (ModSecurity, LiteSpeed WAF, WordPress security plugin)
403 често е “security block”, особено ако:
- се логираш, праќаш форма, правиш checkout, или правиш админ акции
- имаш сомнителен параметар во URL
- има многу барања од краток период (rate-limit)
Брз тест: Провери cPanel → Metrics → Errors, или ModSecurity логови ако се достапни. Често ќе пишува дека барањето е блокирано.
1.4 Блокирана IP адреса или Geo/IP правила
Ако серверот или plugin блокира IP, ќе добиеш 403 само од твојата мрежа/локација.
- Пробај од мобилен интернет (друга IP) или Incognito
- Провери дали имаш IP block листа во security plugin
1.5 Index/Directory listing е исклучен (403 на папка)
Ако отвораш фолдер без index.php/index.html, а directory listing е исклучен, серверот може да врати 403.
- Решение: осигурај дека постои index фајл или правилен route (кај WordPress тоа е index.php во root)
1.6 Погрешен Document Root / addon домен конфигурација
Ако доменот покажува во празна или погрешна папка, може да добиеш 403.
- cPanel → Domains → провери Document Root
- Провери дали сајтот е во таа папка
1.7 “WordPress hardening” правила или заштита на wp-admin
403 може да доаѓа од правила што ја ограничуваат администрацијата:
- IP allowlist за wp-admin
- Basic Auth на wp-admin
- Security plugin што блокира login
2) Профи чекор-по-чекор решавање (најбрза рута)
Чекор 1: Дали 403 е на цел сајт или само на една страница?
- Цел сајт → најчесто .htaccess, permissions, Document Root, WAF
- Само wp-admin → најчесто security правило / IP блок / wp-admin заштита
- Само слики/CSS → hotlink protection или погрешни дозволи во uploads
Чекор 2: Провери Error Logs во cPanel
Ова е најважниот “брз доказ”:
- cPanel → Metrics → Errors
Ако има WAF/ModSecurity блок, често ќе има трага во логот.
Чекор 3: Провери permissions (755/644) и owner
- public_html и папките → 755
- фајловите → 644
Ако гледаш чудни вредности (777, 600, 700) или погрешен owner, тоа е силен кандидат за 403.
Чекор 4: Тестирај .htaccess (најбрз “исклучи/вклучи” тест)
- Преименувај .htaccess → .htaccess.bak
- Пробај да го отвориш сајтот
Ако 403 исчезне, проблемот е во .htaccess правила (rewrite/security/hotlink/deny).
Чекор 5: Исклучи security plugin (ако е WordPress)
Ако 403 се случува при login/wp-admin или форми, често е plugin блок.
- Преку File Manager/FTP: wp-content/plugins → преименувај во plugins-disabled
- Пробај повторно
Ако проработи, врати plugins и активирај еден-по-еден за да го најдеш виновникот.
Чекор 6: Провери домен/Document Root
- cPanel → Domains → провери Document Root
- Осигурај дека WordPress/OpenCart фајловите се во таа папка
3) Брзи сценарија (симптом → причина)
- 403 само на wp-admin → security plugin/WAF/IP allowlist/basic auth/.htaccess правило
- 403 само на /wp-content/uploads → permissions/hotlink/.htaccess во uploads
- 403 само на една страница → правило во .htaccess или WAF блок за конкретен URL/query
- 403 само од една мрежа/IP → IP блок, rate-limit, geo-block
4) Опција: тикет за брза дијагностика (логи + WAF/ModSecurity проверка)
Ако сакаш поддршка да провери дали има WAF/ModSecurity блок, .htaccess конфликт или permission проблем, отвори тикет:
https://gohost.mk/submitticket.php
Текст за тикет (копирај/залепи)
- Наслов: 403 Forbidden – проверка на .htaccess / permissions / WAF
- Домен/сајт: example.com
- cPanel username: CPANELUSER
- Каде се случува 403: цел сајт / само wp-admin / само одреден URL (внеси точен линк)
- Од кога: по update / миграција / промена на SSL / без промени
- Што пробано: .htaccess rename, plugins-disabled, проверка на permissions
- Барање: Ве молам проверете error logs и дали WAF/ModSecurity блокира, и предложете точна корекција.
5) Важно: што да не правиш при 403
- Не ставај 777 permissions “за да проработи” – тоа е небезбедно и може да направи уште полоши блокови.
- Не оставај debug/отворен пристап ако решаваш на live сајт.
- Не бриши случајно .htaccess без backup – прво rename и зачувај копија.