[ Príspevkov: 18 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 26.02.08
Prihlásený: 24.05.13
Príspevky: 372
Témy: 66 | 66
Bydlisko: Nové Zámky
NapísalOffline : 13.07.2008 13:00 | Session - prihlasenie

cafko...robim prihlasenie na stranku a chcem sa spytat ktore udaje od uzivatela mam zachovavat v session ked aj chcem overovat na inych strankach ci je prihlaseny a ake ma prava ci ma dostatocne prava na prehliadanie danej stranky atd...ako som pozeral vacsina ludi uklada meno a heslo ale niekde na nete som cital ze tam to heslo nieje bezpecne...a este mozno trosku odveci...ako spravit aby sa mi do db zapisal datum posledneho prihlasenia na web a ako mu do db taktiez zapisat ip z ktorej sa prihlasil??? tabulky mam spravene len mi to akosi nieje jasne ako to spojazdnit...viem ze sa to da aj pomocov session ze si ulozim do nej aktualny datum a ip ale ako to zapisat a ako to zapisat do db...thx ak sa to tu riesilo tak sry vcera do noci som to hladal ale akosi som to nezaregistroval


Offline

Čestný člen
Čestný člen
Session - prihlasenie

Registrovaný: 17.10.06
Prihlásený: 08.01.11
Príspevky: 1757
Témy: 17 | 17
NapísalOffline : 13.07.2008 13:07 | Session - prihlasenie

do db to predsa zapises ako hocico ine. pole kde chces posledny cas prihlasenia daj ako timestamp a nastav ho na current timestamp. pri kazdom update sa ti zmeni na aktualny datum a cas. ip zistis pomocou $_SERVER['REMOTE_ADDR']. a v session uchovavam len identifikator, podla ktoreho vytahujem potom prava a podobne veci z db.


_________________
A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII code table.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 26.02.08
Prihlásený: 24.05.13
Príspevky: 372
Témy: 66 | 66
Bydlisko: Nové Zámky
Napísal autor témyOffline : 13.07.2008 13:13 | Session - prihlasenie

hmmmmcize navrhujes ak som dobre pochopil id uzivatela???a potom vsetko pomocov toho id vycucat z db??? a ako potom vyzera script na overenie???


Offline

Čestný člen
Čestný člen
Session - prihlasenie

Registrovaný: 17.10.06
Prihlásený: 08.01.11
Príspevky: 1757
Témy: 17 | 17
NapísalOffline : 13.07.2008 13:17 | Session - prihlasenie

nie id uzivatela. pri kazdom prihlaseni vytvorim idsessiony, ktore priradim v db k uzivatelovi. cize pre kazde prihlasenie je to id ine.


_________________
A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII code table.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 26.02.08
Prihlásený: 24.05.13
Príspevky: 372
Témy: 66 | 66
Bydlisko: Nové Zámky
Napísal autor témyOffline : 13.07.2008 13:18 | Session - prihlasenie

hmmm akosi som to moc nepochopil...nemas nejaky link kde je to rozpisanejsie???lebo akosi mi to nejde do hlavy neviem si to predstavit ako to bude fungovat a ako to ma vlastne vyzerat


Offline

Čestný člen
Čestný člen
Session - prihlasenie

Registrovaný: 17.10.06
Prihlásený: 08.01.11
Príspevky: 1757
Témy: 17 | 17
NapísalOffline : 13.07.2008 13:27 | Session - prihlasenie

uzivatel sa prihlasi, vytvoris nejaky nahodny identifikator(napriklad md5($aktualnyDatumCas.$nick)), ten ulozis do session a zaroven aj do db prihlasenemu uzivatelovi. a ten ti po dobu prihlasenia sluzi na overenie. ked je v session aj v db rovnaky, jedna sa o daneho uzivatela


_________________
A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII code table.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 26.02.08
Prihlásený: 24.05.13
Príspevky: 372
Témy: 66 | 66
Bydlisko: Nové Zámky
Napísal autor témyOffline : 13.07.2008 13:30 | Session - prihlasenie

mnooo uz som asi pochopil co tym myslis...ale tak to by som mal spravit stlpec napr status kam sa to bude zapisovat alebo ako???


Offline

Čestný člen
Čestný člen
Session - prihlasenie

Registrovaný: 17.10.06
Prihlásený: 08.01.11
Príspevky: 1757
Témy: 17 | 17
NapísalOffline : 13.07.2008 13:33 | Session - prihlasenie

bud, alebo este lepsie, sprav dalsiu tabulku, kde budes uchovavat id prihlaseneho uzivatela a id session


_________________
A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII code table.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 20.02.08
Prihlásený: 17.04.14
Príspevky: 108
Témy: 22 | 22
NapísalOffline : 13.07.2008 13:39 | Session - prihlasenie

vdaka suchy za radu... ja som do session ukladal prihlasenie s hodnotou 1, username a id uzivatela :lol: ... Tvoja rada mi velmi pomoze... ;)

Len este jedno... Nebolo by to dobre, keby sa prihlasenim vlastne vytvorila docasna tabulka? teda tabulka, ktora sa sama vymaze po uzavreni spojenia s databazou? ci to je blby napad?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3991
Témy: 96 | 96
NapísalOffline : 13.07.2008 13:39 | Session - prihlasenie

pozri poviem ti to polopate ... načo sa pýtaš??
ak chceš tak si uchovávaj ID uživateľa, zapíš dátum, nick však si zapíš čo len chceš ...

avšak pozri keď si zapíšeš Hodnost tak pokial session existuje tak je prihlaseny aj vieš jeho hodnost ...


2. vec. 2.riešenie:
V tabuľke s uživateľmi pridáš polôžky: IP, Cas
a pri prihlásení sa ti zapíše IP (ako to ti už napísal suchy) a taktiež dátum ... najjednoduchšie príkazom NOW() v databáze ...

pokiaľ chceš vedieť z akých IP sa prihlásil vytvor tabuľku IP s hodnotami: ID, ID_user, IP, Cas pričom ID je jedinečný auto inkrement kľúč, ID_user je forget key na user.ID, IP je IP prihlásenia ..., Cas taktiež Timestamp a NOW() a máíš v podstate všetko ...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 26.02.08
Prihlásený: 24.05.13
Príspevky: 372
Témy: 66 | 66
Bydlisko: Nové Zámky
Napísal autor témyOffline : 13.07.2008 13:52 | Session - prihlasenie

Tominator este raz si precitas moj prispevok...pisal som tam ze som videl ze vacsina uklada meno a heslo a zatim ze som cital ze to nieje bezpecne...tak ocakaval som odpoved ako mi dal suchy cize nieco co by bolo efektivne a bezpecne nie toto
Citácia:
pozri poviem ti to polopate ... načo sa pýtaš??
ak chceš tak si uchovávaj ID uživateľa, zapíš dátum, nick však si zapíš čo len chceš ...
...jedine s cim si mi pomohol je asi ten prikaz NOW() ostatne sa mi zda dost odveci lebo vsetko tu bolo spomenute...pisal som ze tabulky mam spravene ale ajtak diki za radu a za snahu :)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3991
Témy: 96 | 96
NapísalOffline : 13.07.2008 14:03 | Session - prihlasenie

ono pozri ako ti mám odpovedať čo si dať do session, tak Heslo by som si ja nedal, ale nemôžem vedieť čo sa ti zíde ... ono dá session sa dá všelijako využiť ...

neviem vravím ti abstrakne ale to závisí od každého individuálne ...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.01.07
Prihlásený: 30.11.14
Príspevky: 660
Témy: 53 | 53
NapísalOffline : 13.07.2008 17:56 | Session - prihlasenie

Ja dávam do SESSION iba userid, všetko ostatné sa ťahá z databázy. Teda, všetko ostatné je asi 5 položiek.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 26.02.08
Prihlásený: 24.05.13
Príspevky: 372
Témy: 66 | 66
Bydlisko: Nové Zámky
Napísal autor témyOffline : 13.07.2008 18:14 | Session - prihlasenie

oki diki vsetky ak este niekoho nieco napadne tak kludne piste...este by som sa chcel spytat coho sa vyvarovat pre tvorbe prihlasenia??? co osetrit naco nezabudnut a pod...thx :)


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.01.07
Prihlásený: 30.11.14
Príspevky: 660
Témy: 53 | 53
NapísalOffline : 13.07.2008 18:19 | Session - prihlasenie

SQL injection - treba ošetriť všetky vstupy, teda hlavne čo sa týka užívateľského mena resp. e-mailu. Ja ošetrujem iba užívateľské meno / e-mail, pretože heslo hneď zašifrujem cez md5().


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3991
Témy: 96 | 96
NapísalOffline : 14.07.2008 9:39 | Session - prihlasenie

ok takto:
pepek: ja väčšinou rátam s veľkou účasťou na stránke, takže každý dopyt na MYSQL spomaľuje chod takže aj tých 5 údajov mám v session

Blackdevil:
1, musíš mať dobré nastavené HTML, teda nastaviť maximálne rozmery mena - maxlenght, vyvarovať sa zbytočných hlúpostí hidden inputov a pod. pretože firefox má rozširenie a ním v pohode zmeníš hocijakú vec čo je HTML + inline JS

2, ošetrovať vstupy:
keďže vstupy sa dajú podstrčiť tak ja to ošetrujem tak že mám trim - htmlspecialchars a to následne kontrolujem regulárnym výrazom ...
čo sa týka hesla tak MD5 (ale ja mám aj celý predchádzajúci postup)
e-mail oštrujem regulárnym výrazom ...

3, ďalej pokiaľ posielaš niečo v adrese napr. ID článku kontrolujem funkciou is_numeric() alebo regulárnym výrazom ... v podste kď vieš regulárne výrazy veľa ti to pomôže

4, foto: keď si pozrieš hneď prvý topic v tejto sekcií nájdeš tam príspevok sucheho ktorý ukazuje ako dobre kontrolovať obrázky. Ja robím niečo podobné ... pri nahrávaní obrázku môžeš použiť napr. ošetrovanie prípony takto:
Kód:
$_FILES['foto']['type']=="image/pjpeg" OR
$_FILES['foto']['type']=="image/x-png" OR
$_FILES['foto']['type']=="image/gif"

alebo rozdelíš názov súboru napr. exlplode alevbo regulárnym výrazom a v podstate $pole[1] je prípona ktorú ďalej ošetruješ
keď vieme že obrázok je správny ošetríme veľkosť
Kód:
if($_FILES['foto']['size']<30000){
...
...
...
}

je to v bajtoch takže toto je 30kB

keď ti to prešlo aj touto podmienkou môžeš fotku slobodne nahodiť na server ...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.01.07
Prihlásený: 30.11.14
Príspevky: 660
Témy: 53 | 53
NapísalOffline : 14.07.2008 10:42 | Session - prihlasenie

Tominator píše:
1, musíš mať dobré nastavené HTML, teda nastaviť maximálne rozmery mena - maxlenght, vyvarovať sa zbytočných hlúpostí hidden inputov a pod. pretože firefox má rozširenie a ním v pohode zmeníš hocijakú vec čo je HTML + inline JS


Čítaš, čo píšeš? Nastaviť v HTML maxlenght je úplne zbytočné a to práve kvôli tým rozšíreniam. Veď si to napísal v jednom bode, sám si protirečíš

Najlepšie je kontrolovať vstup až v PHP a nie v HTML kóde (pomocou maxlenght a podobných).

Čo sa týka legurálnych výrazov, tu je príklad na kontrolu užívateľského mena:

Kód:
if (!ereg('^[A-Za-z0-9_]{4,20}$', $_POST['uziv_meno'])) {
 echo ('Zadajte správne užívateľské meno');
}


Vysvetlenie:
- užívateľské meno musí obsahovať alphanumerické znaky t.j. všetky veľké a malé písmená bez diakritiky + čísla a/alebo podtržník (to je toto: _)
- minimálna dĺžka už. mena musí byť 4, maximálna 20

Mimochodom, nemám pocit, že by sa toto týkalo prihlasovania, keď už sme pri tom. Totiž pri prihlasovaní overuješ existenciu užívateľovho mena / e-mailu z databázy. Tam stačí ochrana proti SQL injection a XSS.

Príklad:
Kód:
<?php
function vycistit($string, $typ=VSTUP) {
 
 $string = ($typ == VSTUP ? addslashes($string) : stripslashes($string));
 $string = strip_tags($string);
 $string = htmlspecialchars($string);
 return $string;

}

if (!empty($_POST['odosli'])) {
 
 $meno = (!empty($_POST['meno']) ? $_POST['meno']:false);
 $heslo = (!empty($_POST['heslo']) ? $_POST['heslo']:false);
 
 if ($meno && $heslo) {

 $_meno = vycistit($meno);
 $heslo = md5($heslo);

 $poziadavka = @mysql_query("SELECT * FROM uzivatelia WHERE meno='$_meno' AND heslo='$heslo'");
 if (@mysql_num_rows($poziadavka)) {
 //pokračovanie skriptu s prihlásením
 }
 else {
  echo ('Zadali ste chybné meno alebo heslo.');
  $heslo = null;
 }

 }
 else {
  echo ('Zadajte meno a heslo!');
  $heslo = null;
 }

}
?>

<form action="prihlasenie.php" method="post">
 <input name="meno" value="<?php echo ($meno ? vycistit($meno, VYSTUP):''); ?>" />
 <input name="heslo" type="password" value="" />
<input type="submit" name="odosli" value="Prihlás ma" />
</form>


Pozn.: Je to narýchlo napísané, ospravedlňujem sa za prípadné chyby. Testoval som, tak by to malo fungovať.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 21.02.07
Prihlásený: 21.02.10
Príspevky: 3991
Témy: 96 | 96
NapísalOffline : 14.07.2008 10:47 | Session - prihlasenie

pepek92 píše:
Čítaš, čo píšeš? Nastaviť v HTML maxlenght je úplne zbytočné a to práve kvôli tým rozšíreniam. Veď si to napísal v jednom bode, sám si protirečíš

to sa na prvý pohľad zdá, akurát uvažujem aj nad IE, a zdôrazňujem som že maxlenght je vhodné na ochranu pred dlhými reťazcami pod IE ale určite nie vhodné bezpečnostné opatrenie


 [ Príspevkov: 18 ] 


Session - prihlasenie



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Jednoduche prihlasenie pomocou SESSION

v PHP, ASP

5

1254

24.10.2007 1:21

mondzo

V tomto fóre nie sú ďalšie neprečítané témy.

prihlasenie

v Operačné systémy Microsoft

3

573

20.01.2006 8:12

michal.h

V tomto fóre nie sú ďalšie neprečítané témy.

Prihlasenie

v Redakčné systémy

4

394

29.11.2007 16:23

pleso

V tomto fóre nie sú ďalšie neprečítané témy.

prihlasenie

v PHP, ASP

1

111

17.02.2014 21:57

BX

V tomto fóre nie sú ďalšie neprečítané témy.

prihlasenie

v Databázy

1

710

28.07.2007 15:09

eiger33

V tomto fóre nie sú ďalšie neprečítané témy.

Prihlásenie

v PHP, ASP

21

684

08.03.2011 23:26

walther

V tomto fóre nie sú ďalšie neprečítané témy.

prihlasenie

v PHP, ASP

4

376

19.04.2011 18:14

Gropi

V tomto fóre nie sú ďalšie neprečítané témy.

Prihlasenie

v Redakčné systémy

5

338

12.02.2007 8:46

mokus

V tomto fóre nie sú ďalšie neprečítané témy.

Bezpecne prihlasenie

v PHP, ASP

28

1485

12.05.2009 21:54

suchy

V tomto fóre nie sú ďalšie neprečítané témy.

Win10 prihlasenie

v Operačné systémy Microsoft

5

148

10.04.2017 18:28

Echo

V tomto fóre nie sú ďalšie neprečítané témy.

Facebook, prihlásenie

v Sociálne siete

5

293

05.01.2017 19:56

shiro

V tomto fóre nie sú ďalšie neprečítané témy.

login - prihlasenie

v PHP, ASP

27

345

28.11.2013 10:58

Elrohir

V tomto fóre nie sú ďalšie neprečítané témy.

prihlasenie uzivatela

v PHP, ASP

4

470

10.08.2009 23:50

Tominator

V tomto fóre nie sú ďalšie neprečítané témy.

administratorske prihlasenie

v Operačné systémy Microsoft

2

668

06.02.2006 10:02

p4ra

V tomto fóre nie sú ďalšie neprečítané témy.

Prihlásenie veterána

v Automobily, motorky

7

1209

06.04.2015 16:57

Laky21

V tomto fóre nie sú ďalšie neprečítané témy.

Pomoc-prihlásenie

v Ostatné

8

357

13.04.2010 17:29

shaggy



© 2005 - 2017 PCforum, edited by JanoF