$_SESSION vs. $_COOKIE

Programovacie jazyky, rady, poradňa...
__construct
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 108
Registrovaný: 23 sep 2009, 9:32
Bydlisko: Dark Side of The Moon
Kontaktovať používateľa:

$_SESSION vs. $_COOKIE

Príspevok od používateľa __construct »

Mám sýstém do ktorého sa prihlási admin a edituje obsah, atď .. Používam na autentifikáciu a prenášanie sedenia $_SESSION a uvažuje či nemám používať $_COOKIE. Chcem sa opýtať čo je z hľadiska bezpečnosti výhodnejšie používať a prečo ?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

session je bezpečenejšie, nakoľko užívateľ nemôžeš svojvolne meniť akúkoľvek hodnotu. Platí ale že je iba natoľko bezpečné, nakoľko bezpečne s tým budeš narábať
__construct
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 108
Registrovaný: 23 sep 2009, 9:32
Bydlisko: Dark Side of The Moon
Kontaktovať používateľa:

Príspevok od používateľa __construct »

audiotrack napísal:session je bezpečenejšie, nakoľko užívateľ nemôžeš svojvolne meniť akúkoľvek hodnotu. Platí ale že je iba natoľko bezpečné, nakoľko bezpečne s tým budeš narábať
Díky .. Nevieš mi poradiť ako si to zabezpečiť čo naj.. ? Stačí "analýza" nemusíš písať zdroják :)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

tých potencionálnych exploitov je také množstvo, že keby ich mám menovať tak sa napíšem viac ako na diplomovke a stále by som všetko nespomenul. Niektoré veci nájdeš tu, niektoré na iných weboch a na niektoré prídeš sám. V zásade ale nedovol aby ti niekto cez xss mohol ukradnúť ssid, nedovol žiadne sql exploity a samozrejme žiadne csrf. To sú chyby čo sa najčastejšie opakujú
__construct
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 108
Registrovaný: 23 sep 2009, 9:32
Bydlisko: Dark Side of The Moon
Kontaktovať používateľa:

Príspevok od používateľa __construct »

Ja to mám zatiaľ urobené tak že keď sa prihlási vytvorí sa $_SESSION['Uzivatel'] do ktorej sa načíta prihlasovacie meno užívateľa ..
Potom sa pri každej stránke do ktorej má prístup iba prihlásený užívateľ overí :

Kód: Vybrať všetko

<?php
 session_start();
 if (! isset($_SESSION['Uzivatel']))
    {
      echo "Niesi prihlaseny.<br><br>\n";
      echo "<a href=\"index.php\">Prihlasit</a><br>";
      echo "</body>\n</html>\n";
      exit;
    }
?>
(takto nejako ..)

Session ID nepoužívam ..
Poradíš mi prosím ako to vylepšiť .. Stačí ako použiť session id ..
Díky moc ..

Viem že to nie
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

session id používaš, len o tom nevieš. Je to ten identifikátor čo sa klientovi prenáša v url alebo v cookies a na základe neho sa asociuje so session na serveri (kde už sú konkrétne jej hodnoty)
maros7777
Light Expert
Light Expert
Príspevky: 61
Registrovaný: 21 okt 2006, 16:37

Príspevok od používateľa maros7777 »

ked to prenasa len takto. ze session(prihlaseny) da true a s tym pracuje. je to aspon trochu bezpecne? ak pridem na inu stranku a ta bude pouzivat tiez session(prihlaseny) automaticky ma prihlasi? alebo proste je tam taka kontrola, ze sa to viaze len k tej konkretnej url? diky
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

maros7777 napísal:ked to prenasa len takto. ze session(prihlaseny) da true a s tym pracuje. je to aspon trochu bezpecne?
očividne si nepochopil čo som písal. Je to natoľko bezpečné, nakoľko bezpečne s tým budeš narábať. Ak ti ukradnem cez xss session, prihlásim sa pod tvojím účtom nech tam robíš 200 kontrol alebo žiadnu. Tým chcem povedať že chybu môžeš spraviť niekde úplne inde ako v session, ale vďaka tej chybe sa bude dať session zneužiť.
maros7777 napísal:ak pridem na inu stranku a ta bude pouzivat tiez session(prihlaseny) automaticky ma prihlasi? alebo proste je tam taka kontrola, ze sa to viaze len k tej konkretnej url? diky
viaže sa to na doménu, takže na inej stránke ťa neprihlási. Môžeš v session kľudne používať názvy premenných aké chceš (presnejšie povedané názvy indexov)
__construct
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 108
Registrovaný: 23 sep 2009, 9:32
Bydlisko: Dark Side of The Moon
Kontaktovať používateľa:

Príspevok od používateľa __construct »

audiotrack napísal:session id používaš, len o tom nevieš. Je to ten identifikátor čo sa klientovi prenáša v url alebo v cookies a na základe neho sa asociuje so session na serveri (kde už sú konkrétne jej hodnoty)
No neviem o tom, že by som cez URL, alebo cookies posielal niečo..

Inak sa chcem opýtať či má nejaký hlbší zmysel pridať tam niečo ako:

Kód: Vybrať všetko

Header("WWW-authenticate: basic real="restricted area"");
Header("HTTP/1.0 401: Unauthorized");
a sem už tá hláška o tom, že zadal nesprávne prihlasovacie údaje ..
neXor
Novice
Novice
Príspevky: 5
Registrovaný: 20 sep 2009, 12:02
Kontaktovať používateľa:

Príspevok od používateľa neXor »

ja ukladám do SESSION aj IP a informácie o prehliadači, keď sa niekto prihlási... potom to skontrolujem, či sa zhoduje to čo zadával pri prihlásení a to keď ide do administratívneho panela
Napísať odpoveď