Session – jak prestat vytvaret pokazde session?
- moonlol
- Člen | 19
Na me aplikaci jsem zjistil, ze navstevy robotu generuji pokazde novy session soubor.
Jak muzu zabranit tomu, ze nekdo pusti ve smycce dotazy na muj web a zaroven ignoruje cookies? Session soubory maji urcitou velikost a zaroven se tvori porad nove takze by teoreticky slo i zcela zaplnit disk.
Nejradsi bych byl, kdyby se session ukladala jen tam kde je potreba – u me aplikace by to melo byt jen pri prihlasovani.
- moonlol
- Člen | 19
Nemam vubec prestavu, jak ty session soubory funguji, ale mam podezreni, ze by za to mohl byt zodpovedny addon GettextTranslator, ktery pouzivam..
Ty session soubory obsauji veci jako tohle:
<?php
__NF|a:4:{s:1:"C";i:1;s:4:"Time";i:1376060847;s:1:"B";s:10:"akawc0bcs4";s:4:"DATA";a:1:{s:25:"GettextTranslator-Gettext";a:1:{s:10:"newStrings";a:0:{}}}}
?>
- frosty22
- Člen | 373
Předpokládám že to issue na githubu jsi založil ty https://github.com/…or/issues/39
Jinak však podle kodu Gettextu, který teda ano session využívá, ale nevidim tam žádný problém víceméně ji využívá pouze tak, že vytvoří SessionSection a následně do ní ukládá a čte data, čili ano vytvoří to session, ale mělo by to vytvořit jen a pouze 1 session pro uživatele.
To že čistý sandbox ti nevytváře session je tím, že ji vůbec nevyužívá, čili bych spíše zkusil zda-li když třeba v presenteru si vytáhneš nějakou sessionsection a do ní začneš například přičítat po jedné – tak zda-li se ti správně ukládá a incrementuje a zda-li tedy je uložená pouze jedna sessiona.
- moonlol
- Člen | 19
frosty22 wrote:
Předpokládám že to issue na githubu jsi založil ty https://github.com/…or/issues/39
Ano, tu jsem vytvoril ja. Predtim jsem psal e-mail autorovi, kde jsem ho zadal o radu. Rekl mi, at zalozim issue, ze se na to podiva.
Jinak však podle kodu Gettextu, který teda ano session využívá, ale nevidim tam žádný problém víceméně ji využívá pouze tak, že vytvoří SessionSection a následně do ní ukládá a čte data, čili ano vytvoří to session, ale mělo by to vytvořit jen a pouze 1 session pro uživatele.
To je ten problem. Pokud pouzivam GettextTranslator, navstivim jakykoliv presenter a nemam cookies, vytvori se novy session soubor. Pokud mam web, ktery je aktualizovany hodinove a navstevuje ho hodne robotu a ve spojeni s novyma navstevnikama, zahlti mi tohle samo o sobe slozku session. A je tu i nizke riziko cileneho zneuziti.
_____
Dal jsem si praci a udelal kopii me stavajici aplikace a odstranil z ni gettext
translator.
Udelal jsem externi program, co ve smycce navstevuje domovskou stranku aplikace a zahazuje cookies. Nove soubory se jiz nevytvari. Presne, jak bych ocekaval.
Pokud ten samy program pustim proti domovske strance aplikace, kde pouzivam GettextTranslator, tak kazdou dalsi iteraci vytvorim na serveru novy session soubor.
Pokud GettextTranslator potrebuje session soubory kvuli funkcnosti prekladove listy v debug baru, tak by je ale mel delat pouze pokud je debug bar zapnuty.
Doufam, ze se mnou souhlasite.
Editoval moonlol (10. 8. 2013 10:20)
- thunderbuff
- Člen | 164
Díky za tip s gettexttranslatorem, právě to řeším taky, moje session soubory mají neúnosných 2.5GB