Statistika online uživatelů i hostů
- ZZromanZZ
- Člen | 87
Schmutzka, to je ale pouze to co řeší přihlášené uživatele. Potřebuju i hosty. Pokud se session ID u nepřihlášených uživatelů nemění mohl by to být součet přihlášených uživatelů, jejichž lastActivity by byla zaznamenaná u uživatelů v databázi a součet všech ostatních sessionID ze specialní tabulky (sessionID, lastActivity). To se mi zdá kompilkované, vznikaly by tam totiž nepřesnosti, protože uživatel už by byl přihlášený ale sessionID z tabulky hostů by se ještě počítalo, takže by to započetlo dvakrát… a myslím, že to nebude všechno.
Ještě mě napadl callback, který by se navěsil na událost, a měl přístup k novému i starému sessionID
<?php
$session->onSessionIDRegeneration[] = callback($this, 'someFunction');
?>
A koneckonců tady na fóru to je a předpokládám, že fórum je v Nette? Zdrojáky fóra jsem ale nenašel
- hAssassin
- Člen | 293
nejsem si 100% jisty ale mam pocit, ze kdyz jsem zkousel prihlasovani uzivatelu, tak ze to session ID prave pri prihlaseni menilo, tedy ze jako guest si mel nejaky sessId a po prihlaseni se ti zmenilo, ale to by s pri tomto reseni nebych shopny asi nijak kloudne odchytit a staryho guest se starym sesId smazat, resp. nahradit novym sessId authentizovaneho uzivatele. Zkus to pres firebug testnout, uz si to moc nevybavuju.
- Tomáš Votruba
- Moderator | 1114
A logovat ip u nepřihlášených by byl problém? Půjde o stejný
proces, jen místo id
v tabulce users
, půjde o
ip
v tabule hosts
.
- vvoody
- Člen | 910
Keď to musí byť presné meranie tak sa to nemá čo viazať na užívateľa (ide nám predsa len o ich sumu) jednoducho by som ukladal cookie do browsera a databáze vo forme uniq stringu + last action do databáze a nedbal na to či je user ne/prihlásený a kto konkrétne to je. Prípad, že je ten istý account prihlásený z dvoch browserov by som neriešil. Ja by som to rátal ako dvoch návštevníkov. To už sa aj tak zmysluplne nedá zistiť či si niekto spustil dva browsre na jednom pc alebo sa jednoducho dvaja ľudia od seba x km vzdialený prihlásili na ten istý acc.
- Aurielle
- Člen | 1281
Napadlo mě ověřovat kombinaci user agenta a IP, to by mohlo být celkem unikátní.
edit: nebo lépe tohle rozšířit – při první návštěvě to zahashovat a uložit do databáze. A pak aktualizovat při každém kliku, stejně jako by se to dělalo u přihlášeného uživatele. A po přihlášení to s uživatelem spojit (tzn. třeba uložit do identity).
Editoval gmvasek (29. 8. 2012 16:42)
- ZZromanZZ
- Člen | 87
Napad je to zajimavy, ale myslim si ze kombinace user-agent a IP neni dostatecne unikatni, aby relativne dostatecne spolehilive rozlisila uzivatele.
Nikdo se zatim nevyjadril k memu napadu udelat udalost onSessionIdRegeneration primo v Nette. Protoze v callbacku, do ktereho by se dostalo nove i stare session ID by slo osetrit vsechno. A myslim by se to hodilo nejen pro scitani poctu online surfujicich…