Občas prostě nejde přihlásit (SimpleAuthenticator, wedos)
- jiristepanek
- Člen | 2
Zdravím, mám takový problém. Nejsem žádný velký programátor. Web mi museli pomáhat programovat 2 další lidé a tak prosím o trpělivost :D. Na webu máme pouze jednoduchý formulář co zpracovává platby. Všechny zápisy pak ukládá do tabulky na kterou se dostanu po přihlášení do naší „administrace“.
99% času vše funguje tak jak má. Na localhostu ve 100%. Vadí mi ale to jedno procento kdy náš web prostě blbne.
Stává se toto:
- z administrace mě to jakoby odhlásí a hodí mě to na screen kde mám 2 inputy na heslo a jméno (klasicky po prvním přihlášení na počítači bych ale už měl být správně přihlášený napořád – takhle nejsem)
- když se chci přihlásit znovu, nic se neděje. Stránka se jakoby refreshne ale nehodí mi tam žádný error (kontoloval jsem přes takovou tu Tracy)
- mezitím platby z našeho formuláře dál odchází bez problému. Pouze přihlášení do administrace je to co blbne.
- po cca 5–10 minutách se vše ÚPLNĚ SAMO vyřeší. Najednou po přihlášení přes heslo a jméno mě to hodí zpět na tabulku (administraci) kde zůstanu X dní do dalšího „výpadku“.
Zkoušeli jsme zatím toto abychom vyřešili:
- vymazat cache (bez významu)
- zkontrolovat error logs na wedosu (nic)
- na cloudflare dočasně vypnout cache (bez významu)
- najmout dalšího profi programátora aby zkontroloval kód řádek po řádku (prý je vše ok)
Upřímně už opravdu nevím kde je problém. V našem kódu doufám, že ne (tím, že se to samo od sebe spraví za pár minut a na localhostu běží bez problému). Pak tu máme ten wedos který tvrdí, že to nechápe. A cloudflare kde jsou všechny non-essential funkce vypnuté. Nenapadá Vás kde by mohl být ten problém? Pokud mě někdo dobře nasměrujete tak budu strašně vděčný!
Díky!
Jirka
- Kamil Valenta
- Člen | 844
Asi bych zaměřil pozornost na:
- cookies v prohlížeči (její podobu a expiraci)
- session na serveru, kdy expiruje, kdy ji kdo a jak fyzicky odmazává (zda se třeba to nezdařené přihlášení netrefí zrovna do nějaké cron úlohy)
Editoval kamil_v (30. 4. 2020 16:50)
- thm
- Člen | 151
Čauves, podařilo se to nějak vyřešit?
Mám stejné problémy na Wedos. Na localhostu bez problému, na Wedos po
přihlášení se „částečně“ přihlásím. Například zobrazí se mi
hlavní menu – kde se menu zobrazí
{if $user->isLoggedIn()} {* Menu *} {/if}
, ale přesto mě to
přesměruje na sign:in.
class SecurityPresenter extends OrganizationPresenter
{
public function startup(): void
{
//Ověříme, jestli je uživatel přihlášený, pokud ne, přeměrujeme ho na přihlašovací stránku
parent::startup();
if(!$this->user->isLoggedIn()){
$this->redirect('Sign:in');
}
//Další kód
}
}
Editoval thm (9. 9. 19:24)
- BigCharlie
- Člen | 285
Matně si pamatuju, že jsem kdysi dávno s Wedosem řešil něco podobného. Nějak to souviselo s cache u wedosu. Ale detaily už se mi vykouřily z hlavy.
Zkus do odpovědi dát hlavičky pro zákaz cachování – jestli to nepomůže…
Editoval BigCharlie (9. 9. 21:56)
- Pavel Kravčík
- Člen | 1206
Taky už jsem od nich odešel, ale řešil jsem to asi stejné pár let zpátky, tohle jsem ještě dohledal v kódu. Snad pomůže:
<IfModule mod_headers.c>
<FilesMatch ".(php)$">
Header set Cache-Control "no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires 0
</FilesMatch>
</IfModule>
- thm
- Člen | 151
@BigCharlie Díky moc. Nastavil jsem do BasePresenteru
$this->getHttpResponse()->setHeader('Cache-Control', 'no-cache, no-store, must-revalidate');
a
zatím mi to funguje správně. Potýkal jsem se s tím každý den (různé
prohlížeče reagovaly různě a třeba po chvíli klikání to začlo fungovat
správně).
Nevím, jestli bych no-cache neměl nastavit jenom třeba při zpracování přihlášení. Nevím, co tím ztratím, pokud to bude nastavené pro celou aplikaci.
V každém případě moc díky!
Editoval thm (10. 9. 8:34)
- Marek Bartoš
- Nette Blogger | 1313
Nevím, co tím ztratím, pokud to bude nastavené pro celou aplikaci.
Náhodné chyby.