Chyba 403 Forbidden

Chyba 403 je běžná HTTP chyba, která se objevuje, když uživatel nebo klient webového serveru nemá povolení přistupovat k požadovanému zdroji (souboru na webu). Většinou se tato chyba objevuje kvůli problémům s oprávněními souborů na serveru, nebo z důvodu, že na webu chybí klíčové soubory jako např. indexový soubor.

Soubor index.php (nebo index.html) je  hlavní soubor webové stránky, který se zobrazuje jako výchozí stránka, když uživatel navštíví danou webovou adresu.

V jakých případech se zobrazuje chyba 403?
  1. chybějící spouštěcí soubor v kořenovém adresáři webu (index.php, index.html, default.asp apod.)
  2. omezení přístupu na web pomocí modulu Geo_IP
  3. u administrace WordPressu pak tato chyba značí např. mnoho pokusů o přístup do administrace po zadání několika špatných přístupových údajů (heslo a login), nebo pokus o přihlášení ze země, která není na seznamu povolených zemí v souboru .htaccess.
Chybějící spouštěcí soubor v kořenovém adresáři webu
Aby se mohl web spustit a zobrazit, je nutné, aby v kořenové složce webu (www pro hlavní doménu a subdoms/jmeno_subdomeny pro subdoménu) byl přítomný tzv. indexový soubor. To je soubor, který webový server hledá jako první pro zobrazení. Pokud v kořenové složce tento soubor chybí, vrátí server chybu 403.

Omezení přístupu na web pomocí modulu Geo_IP
Přístup k webové aplikaci je možné omezit pomocí Apache modulu mod_geoip. Díky tomu je možné definovat, z jaké země bude mít uživatel povoleno web zobrazit a z jaké nikoliv. Pokud by se snažil uživatel zobrazit web ze země, která není povolena, vrátí server jako odpověď právě chybu 403 a zamítne přístup k webu.
Kompletní popis blokace pomocí modulu mod_geoip naleznete zde: Omezení dostupnosti webu pro konkrétní země

Apache modul mod_geoip je modul pro webový server Apache, který umožňuje identifikaci geografické polohy návštěvníků webových stránek pomocí IP adresy. Tento modul využívá databázi geografických informací o IP adresách poskytovanou společností MaxMind a umožňuje webovým serverům Apache zobrazovat obsah v závislosti na geografické poloze návštěvníků.

Chyba 403 u administrace WordPressu
Zde může vzniknout problém ze dvou důvodů. Prvním důvodem je ochrana proti útokům typu "brutte force", aplikovaná na serveru. Pokud by se někdo snažil do administrace přihlásit pomocí neaktuálních přihlašovacích údajů, vrátí server po několika pokusech chybu 403 a zablokuje IP adresu uživatele na 20 minut. Blokace je dočasná.

Brute force útok (také nazývaný útok hrubou silou) je typ útoku na šifrovaná, nebo zakódovaná data, kdy se útočník pokouší získat přístup k datům prostým vyzkoušením všech možných kombinací hesel nebo klíčů, dokud nenajde správný. Tento druh útoku se často používá k prolomení hesel, kde útočník používá program, který zkouší všechny možné kombinace znaků, a to buď postupně, nebo paralelně na více počítačích najednou.

Případný další popis základního zabezpečení WordPressu můžete nalézt zde: Základní zabezpečení redakčního systému Wordpress

Druhou možností, kdy může dojít u administrace WordPressu k chybě 403, je omezení přístupu uživatele pomocí modulu mod_geoip. Webhostingy vytvořené na serveru s operačním systémem Linux mohou obsahovat soubor .htaccess s následující direktivou:

RewriteEngine on
RewriteCond %{REQUEST_URI} /(xmlrpc|wp-login)\.php
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^(CZ|SK|PL|HU)$
RewriteRule ^(.*)$ - [F,L]

Konkrétně je zde důležitý tento řádek, který pomocí tzv. country kódu definuje země, které mají povolený přístup:

RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^(CZ|SK|PL|HU)$

Pokud tedy např. dostáváte chybu 403 u přístupu do administrace z připojení v Německu, je nutné editovat tento soubor a do řádku přidat country kód této země. Zde by tedy tento řádek vypadal následovně:

RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^(CZ|SK|PL|HU|DE)$

Chyba 403 u administrace OpenCart
Zde může být GeoIP umístěné v souboru www/admin/.htaccess.

Kompletní seznam GeoIP country kódů naleznete zde: https://www.geonames.org/countries/


Pokud byste si chtěli na Linuxovém serveru stránku 403 uživatelsky definovat sami (např zobrazený vzhled, design a obsažené informace), je možné vlastní stránku 403 vytvořit pomocí tohoto návodu: Uživatelsky definované chybové stránky - Linux
Pro Windows server je návod pro vlastní chybovou stránku 403 zde: Jak si u svého webu nastavím vlastní chybové stránky?