Jak tedy udělat dobré přihlášení, aniž bych musel používat adresy typu neco.php?sesid=oghjkeroged6fgtj56hku1tz56u ...?
No ja ti nevim, budes muset byt asi trochu samostatnejsi. My to sice dokazeme, ale nic bys z toho nemel, kdybychom to naprogramovali za tebe.
Zkusim te jen trochu nasmerovat:
- to sessid je jen prostredek, jak obejit bezstavovost http protokolu (tj. ze kazdy pozadavek je nove spojeni, ktere se musi nejak spojit s temi predchozimi od stejneho klienta)
- tj. na serveru si musis nejak pamatovat, ktere sessid je prihlasene a ktere je anonymni
- to prihlasovani spociva v tom, ze v jednom skriptu zkontrolujes jmeno a heslo z predchozi stranky a v pripade souhlasu si ulozis do session promennych jeho login a dalsi udaje ktere potrebujes
uff, je to na delsi povidani, co si takhle treba koupit nejakou knihu a dat kolegum vydelat :-)
Mno ja to dříve (na staré page) měl udělané tak, že jsem si uložil soubor který se jmenoval jako uživatelova IP a z toho jsem to dále načítal... Což ovšem není nejlepší způsob... Další možnost byla cookies nebo sessions ovšem co když je uživatel nemá zaplé:o)
Mno ... jestli jsem to dobre pochopil, tak uz tu zaznelo ze PHP session jsou tak chytre udelany, ze nezalezi na tom, co ma uzivatel zapnutyho ... jedine ze by jeho prohlizec nepodporoval GET/POST ... ale na to se myslim muzes spolehnout :)
(urcite znas)
... dvakrat mer, jednou rez ...
(a pro programatory)
... dvakrat cti, jednou pis ...
A jestli opravdu nechces dat vydelat kolegum pisicim knihy ... dej vydelat me :) ... ja ti to napisu :o)))
Radek
Tak nějak nemám peněz nazbyt:o)
A co takhle?
<?
$frstring = md5($HTTP_USER_AGENT);
$scstring = md5($REMOTE_ADDR);
$save = md5("$frstring" . "$scstring");
echo($save);
?>
Vyjde neco v tomhle smyslu...
d4b3385fa54f6abcbbaa8ae8f3004486
To by mělo identifikovat uživatele na 100% ne? Je jeste neco co ma uyivatel jedinecne?
Jo a neví někdo, kdy bych mohl sehnat kompletní seznam proměných v PHP myslím něco jako $REMOTE_ADDR... Atd
Jestli myslíš systemove proměnné HTTP a PHP tak to je na již 100000000000000000x zminovane adrese www.php.net nebo jsi na www.stahuj.cz a tam je poloceska verze manualu.. en manual je udelany dobre a dobre se mi s nim taky pracuje... PROC HO JESTE NEMAS?????
To se pak nikdo nemuzem divit ze se tady porad na neco ptas..
Nemám... Blbě se v něm hledá.. když tak na tom www.php.net Jinak tam jsem ten senam nenašel:o)
Me se v nem hleda dobre :o)
Tak to mě ne...Na php.net je dobrej vyhledávač... Ten se mi líbí..
print_r($GLOBALS);
nebo citelnejsi ale delsi:
reset($GLOBALS);
while (list($k,$v) = each($GLOBALS)) {
echo $k." = ".$v."<br>";
}
Hele a tohle jsem chtěl taky vědět... Konečně vím na čem wz je:-)
Apache/1.3.20 (Unix) (10xpatchlevel 1.3.20-0) PHP/4.0.6
Jo a jěště jak často se mění $REMOTE_PORT?
A k čemu je?
ja bych prihlaseni udelal (a casto se to tak dela - podle me je to lepsi nez auth) pomoci sessions. po prihlaseni se poznacis login = true, pripadne jeste cas posledniho pristupu a pracujes s tim dale...
pokud nechces predavat id sessions parametrem, pak vyuzij pouze cookies - uzivatel pouze nebude mit sanci se prihlasit (jeho id bude stale jine) a bude nucen si cookies zapnout. hodne serveru to dnes tak uz dela, i kdyz si nemyslim, ze je to uplne spravne...
ale mira rekl, ze je to na delsi vykladani a nestaci mit jen manual v ruce - vyzaduje to i nejake logicke uvazovani a 'programatorskou' zrucnost, kterou ziskas jen tim, ze se budes snazit sam.
m.s.
$REMOTE_PORT je cislo portu na adrese IP dane $REMOTE_ADDR, kam bude zaslana odpoved na HTTP pozadavek ... pri kazdem dotazu je jine. ... bohuzel, vid :o)
>>bohuzel, vid :o)
Jo jo...
2 lukasik: jestli delas na woknech (a to asi jo), tak si stahni phpman ve formatu chm, ten umi celkem slusny vyhledavani
taky 2 lukasik: ta tvoje konstrukce s md5() je podle me k nicemu, viz priklad: mas pripojeni ze skoly, tj. stejna ip, (souhlas?) a na vsech compech mas stejnej prohlizec -> stejnou hlavicku user-agent - taky souhlas? (protoze http hlavicka user-agent ti posila identifikaci browseru ve smyslu verze programu) -> vzdycky ti to vypise to same -> zadny efekt, zadna bezpecnost :-)
ja bych pouzil jedno z techhle reseni:
a) mala bezpecnost - viz http://jkt.wz.cz/beta/bulletin/ - tj. predavani username&password ve skrytejch polich, event. neco.php?username=test&heslo-test
b) velka bezpecnost - kazdemu userovi bys pridelil nahodnej id, menil by se pri kazdym prihlaseni/zmene stranky (nejbezpecnejsi - pozorovatel vidi url neco.php?id=dfugsdvugfilvuhad v adrese a pritom ten identifikator uz neplati, proste nadhera, ale moc moc pracna)
kodovani zdar
j
Hmmm... Hold to asi udělám jednoduše, pokud již tam ta IP adresa bude má smůlu:-)
jak muzes jako programator takhle mluvit? - uzivatel ma smulu... zvlast, kdyz se jedna o bezpecnost. a jestli budes sbirat nejaka data o uzivateli, tak si dej pozor zvlast na bezpecnost, aby se to nedostalo do cizich rukou (uz jsou na to nejake zakony)...
m.s.
Neboj, registrace jsou stoprocentně bezpečné a heslo je asi 15 místné:-) Jediný kdo k tomu má přísup jsem já a wz nikdo jiný:-).
Mno a prave to dělám pro bezpečnost aby se potom nervali o uživ jména...