Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] problem z logowaniem, opcja pamietaj mnie
barthek
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 2.12.2003

Ostrzeżenie: (0%)
-----


mozliwe ze ja to zle rozumiem, ale coz.. sytuacja wyglada nastepujaco:

skrypt logowania dziala tak, ze jezeli ktos zaznaczyl opcje 'pamietaj mnie' to tworzone jest ciasteczko z danymi potrzebnymi do zalogowania:
  1. <?php
  2. $dane = ($login.$haslo);
  3. setcookie ("dane", $dane,time()+3600*24*365);
  4. ?>


nastepnym razem jak wejdziemy na strone skrypt sprawdza czy ma ustawione ciasteczko. jezeli ma to pobiera dane i probuje sie zalogowac:
  1. <?php
  2. if(isset($_COOKIE["dane"]))
  3. {
  4. $dane = $_COOKIE["dane"];
  5. $login = substr($dane, 0, 32);
  6. $haslo = substr($dane, -32);
  7. }
  8. ?>


i to wszystko mi dziala! (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) problem pojawia sie przy wylogowywaniu.. mianowicie skrypt wylogowujacy wyglada tak:
  1. <?php
  2. setcookie ("dane", "",time()-3600*24*365);
  3. unset($_SESSION['login']);
  4. unset($_SESSION['haslo']);
  5. header("location:../index.php");
  6. ?>


dodam jeszcze ze w index.php na poczatku jest wlasnie includowany kod probujacy sie zalogowac poprzez dane uzyskane z ciasteczka..

problem jest tej natury, ze po nacisnieciu wyloguj i przekierowaniu do index.php automatycznie znowu mi sie loguje (pobierajac dane z ciasteczka), mimo ze przeciez teoretycznie cisteczko stracilo waznosc.. jezeli nie zaznacze opcji 'pamietaj mnie', czyli ciasteczka w ogole nie ma to wylogowywanie przebiega bezporblemowo..

jakies pomysly co tu jest nie tak?
z gory dziekuje..

edit: JEZELI NIE WIDZICIE TU BLEDU TOPOWIEDZCIE PRZYNAJMNIEJ JAK WY TAKIE RZECZY ROZWIAZUJECIE..

Ten post edytował barthek 20.02.2006, 08:47:00
Go to the top of the page
+Quote Post
Neotion
post
Post #2





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 13.09.2004

Ostrzeżenie: (0%)
-----


hymhym... Uzywasz $_SESSION do pobierania danych z ciasteczek?

Tak sie chyba nie robi, może się mylę.

Do danych z ciasteczek używa się $_COOKIE

i tak:
  1. // Zapamietanie:
  2. <?php
  3. $dane = $login.'<jakistamseparator>'.$haslo; // Proponuje dać jakiś dziki znak ASCII jako separator, unikalny żeby nie było pom
    yłek
  4. setcookie ("dane", $dane,time()+3600*24*365);
  5. ?>
  6.  
  7. // Pozniejsze logowanie
  8. <?php
  9. if($_COOKIE['dane']) 
  10. {
  11. $cookieDane = explode('<jakistamseparator>',$_COOKIE['dane']);
  12. $login = $cookieDane[0];
  13. $haslo = $cookieDane[1];
  14. }
  15. ?>


Pomogłem czy powiedziałem tylko to co juz wiedziałeś (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ?

Ten post edytował Neotion 19.02.2006, 21:11:05
Go to the top of the page
+Quote Post
Termit_
post
Post #3





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 11.06.2005
Skąd: Gostyń

Ostrzeżenie: (0%)
-----


Z tym, że gorąco zalecam dodatkowe hashowanie hasła wysyłanego w ciasteczko, bo po przechwyceniu ciastka (a przecież może się to zdarzyć) może być 'zonk'...
Np. jeśli hasło było zakodowane md5, to dodaj do tego jeszcze hashowanie sha1.
Go to the top of the page
+Quote Post
Neotion
post
Post #4





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 13.09.2004

Ostrzeżenie: (0%)
-----


Co do hashowania wolałbym jakąś własną funkcję od hashowania bo SHA1 i MD5 z tego co czytałem nie są już za bardzo bezpieczne. Obecnie chyba tylko AES został, ale nie ma do niego gotowej funkcji w php (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
barthek
post
Post #5





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 2.12.2003

Ostrzeżenie: (0%)
-----


Cytat(Neotion @ 2006-02-19 22:10:43)
hymhym... Uzywasz $_SESSION do pobierania danych z ciasteczek?

nie no jasne ze nie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) po prostu pozno posta dawalem i przez pomylke nie ta czesc kodu dalem..

co do tego problemu to juz go rozwiazalem - plik logout.php, ktory zawieral skrypt wylogowujacy, byl w innym katalogu niz index.php przez co nie potrafil zmienic daty waznosci ciasteczka (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Cytat(Termit_ @ 2006-02-19 22:32:04)
Z tym, że gorąco zalecam dodatkowe hashowanie hasła wysyłanego w ciasteczko, bo po przechwyceniu ciastka (a przecież może się to zdarzyć) może być 'zonk'...
Np. jeśli hasło było zakodowane md5, to dodaj do tego jeszcze hashowanie sha1.


taa... probowalem dane w ciasteczku XOR'owac unikalnym kulczem 64-znakowym, ale o ile wszystko niby dziala (jak sprawdzalem w osobnym kodzie php instrukcja pod instrukcja), to juz przy kodowaniu ciasteczka i pozniejszym jego odczytaniu w pewnym momencie zle to dzialalo (np pierwsze 50 znakow bylo OK, a pozostale 14 juz bral z kosmosu..).
postanowilem wiec to zostawic.. dlaczego? poniewaz co da komus zhashowany md5 login i haslo? jak wklepie to w formularz to zostanie to ponownie zhashowane i tyle mial hasla (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

mam natomiast jeszcze jedno pytanie. teraz jezeli ktos mi sie wylogowuje (a wczesniej dal opcje 'pamietaj mnie') to usuwa ciasteczko - przez co juz go pamietac nie bedziemy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) jak wiec zrobic, zeby po wylogowaniu sie - uzytkownik mogl sobie przegladac jeszcze strony witryny normalnie jako gosc, a po zamknieciu przegladarki i ponownym powrocie byl logowany automatycznie, czyli pamietany?
Go to the top of the page
+Quote Post
Neotion
post
Post #6





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 13.09.2004

Ostrzeżenie: (0%)
-----


Użyj sesji. Sesja jest usuwana czy już nie pamiętana po wyjściu z przeglądarki. Ja tak zawsze robie przy licznikach unikanych odwiedzin (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

A co do MD5: jak komuś zależy to z tego co słyszałem idzie sobie z tym poradzić.
Go to the top of the page
+Quote Post
andrzejb
post
Post #7





Grupa: Zarejestrowani
Postów: 93
Pomógł: 1
Dołączył: 12.08.2005

Ostrzeżenie: (10%)
X----


Cytat(Neotion @ 2006-02-20 10:06:55)
A co do MD5: jak komuś zależy to z tego co słyszałem idzie sobie z tym poradzić.

demagogia, nie sluchajcie go (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) szkoda ze tylko slyszales ;>
Go to the top of the page
+Quote Post
Neotion
post
Post #8





Grupa: Zarejestrowani
Postów: 67
Pomógł: 0
Dołączył: 13.09.2004

Ostrzeżenie: (0%)
-----


http://hacking.pl/5450 <- to o SHA1
http://www.hakin9.org/pl/attachments/md5_pl.pdf <- to o MD5

Ale to tylko o tworzeniu kolizji, nie odczytamy raczej z MD5 pierwotnej informacji.
Zwracam honor (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 02:11