C# týden ITnetwork Flashka zdarma
Akce! Pouze tento týden sleva až 80 % na kurzy C# .NET. Lze kombinovat s akcí 50 % bodů navíc na prémiový obsah!
Brno? Vypsali jsme pro vás nové termíny školení Základů programování a OOP v Brně!

Diskuze: 403 -Forbidden, když je v url slovo "error"

Aktivity (2)
Avatar
rotkopf
Člen
Avatar
rotkopf:23. května 16:50

Dělám si MVC systém a vše funguje tak jak má, dokud nejdu na mymvc/error/... pak to vyhodí 403. Pokud jdu jen na mymvc/error vse je v pořádku.

Zkusil jsem: Ten samý kód jsem dal do jiného kontroleru (TestController) a vše funguje tak jak má.

public function action($parameters){
    $this->header = "Error";
    $this->data = $parameters;
    $this->view = "error";
}

Chci docílit: Je error nějaké rezervované slovo a mám smůlu, nebo je chyba u mě?

 
Odpovědět 23. května 16:50
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:24. května 8:01

Kdybys uvedl link na clanek, ze ktereho vychazis, bylo by mozne dohledat v jejich kodu problem. Ale forko ctou i autori, tak snad budou vedet.
Nejake class prirazujes do promennych hodnoty. To vypada spravne. Ve tvem pripade je error jenom obecny string.
Mozna bys mohl napsat, jakou chybu ti php pise a radky kodu, ktere ji odpovidaji.
Podle mymvc/error/ bych hadal, ze error je nejake rezervovane slovo v .htaccess pro error pages (404, 403, a jine chybove hlasky). Ale jenom hadam, do tveho nastaveni v htaccess nevidim.

Editováno 24. května 8:03
 
Nahoru Odpovědět 24. května 8:01
Avatar
rotkopf
Člen
Avatar
Odpovídá na Peter Mlich
rotkopf:8. června 21:25

články mám pročtené, teď jedu podle sebe. Na nic kloudného jsme nepřišel, tak místo error používám err a funguje to. Takže asi rezervované slovo

 
Nahoru Odpovědět 8. června 21:25
Avatar
Odpovídá na rotkopf
Michal Šmahel:11. června 7:20

Ahoj, opravdu se jedná o adresu rezervovanou Apache. Adresy error/404, error/403 jsou obsluhované přímo Apache. Není možné je dobře používat s MVC. Jedině zkusit poladit konfigurace, ale pokud s tím nemáš zkušenosti, nedoporučoval bych to.

Pro tyto adresy si můžeš nastavit soubory (pomocí .htaccess), které je obslouží místo Apache, každopádně ti to však nabourá původní návrh MVC systému (nefunguje tady .httaccess, který vše přesměruje na index.php).

Proč tyto adresy vůbec jsou rezervované... Je to poměrně jednoduché, Apache při své práci občas potřebuje vyhodit chybu 404 (nenalezl požadovaný soubor/adresář) nebo 403 (není povolen přístup k požadovanému souboru/adresáři). Tohle funguje ještě nad tvým MVC - to sice skoro vše směřuje na index.php, ale může se stát, že k tomu nedojde (např. při chybě s oprávněními k souborům). Obecně je zde tento mechanismus pro případy, kdy tyto stavy nejsou ošetřeny vůbec.

Nahoru Odpovědět 11. června 7:20
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Odpovídá na Michal Šmahel
Michal Šmahel:11. června 7:22

Ono těch rezervovaných adres je více. Další hojně používanou je error/500. Pokud bys potřeboval ještě něco doplnit, dej vědět.

Nahoru Odpovědět 11. června 7:22
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.