Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> cookies, a dane logowania
wezyrno
post
Post #1





Grupa: Zarejestrowani
Postów: 130
Pomógł: 0
Dołączył: 11.09.2011

Ostrzeżenie: (50%)
XXX--


Czy cookies może służyć, nie do zapamiętania logowania aby użytkownik nie musiał się ciągle logować, ale do zapamiętania danych logowania w polach formularzu? Ja wiem, że to robi przeglądarka za zgodą człowieka, ale czy można to zrobić w formie cookie (tzn. uzupełniać zawsze formularze)?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 17)
404
post
Post #2





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 22.05.2011

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


Tak, ale nie radziłbym przechowywać hasła...
Go to the top of the page
+Quote Post
trueblue
post
Post #3





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Jeśli chcesz stworzyć opcję "zapamiętaj mnie", to owszem można zapamiętać login, ale hasło w postaci zaszyfrowanej.
O kodowaniu hasła decydujesz Ty.
Na podstawie tych dwóch danych sprawdzasz czy użytkownik może się logować w ten sposób.


--------------------
Go to the top of the page
+Quote Post
404
post
Post #4





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 22.05.2011

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


Cytat(trueblue @ 21.06.2014, 22:39:42 ) *
Jeśli chcesz stworzyć opcję "zapamiętaj mnie", to owszem można zapamiętać login, ale hasło w postaci zaszyfrowanej.
O kodowaniu hasła decydujesz Ty.
Na podstawie tych dwóch danych sprawdzasz czy użytkownik może się logować w ten sposób.
Chyba sobie żartujesz.........
Go to the top of the page
+Quote Post
trueblue
post
Post #5





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Nie żartuję, ale z rozpędu.
Nie hasło, ale jakiś identyfikator użytkownika.

P.S. Pisząc o kodowaniu miałem na myśli sposób solenia.

Ten post edytował trueblue 22.06.2014, 08:15:39


--------------------
Go to the top of the page
+Quote Post
wezyrno
post
Post #6





Grupa: Zarejestrowani
Postów: 130
Pomógł: 0
Dołączył: 11.09.2011

Ostrzeżenie: (50%)
XXX--


Cytat
Tak, ale nie radziłbym przechowywać hasła...

Dlaczego?
Go to the top of the page
+Quote Post
Turson
post
Post #7





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Nikt nie zaleca przechowywania hasła w jawnej formie w ciasteczkach bo ciasteczka m.in. można podejrzeć i tym samym odczytać hasło.

Ten post edytował Turson 22.06.2014, 20:31:11
Go to the top of the page
+Quote Post
wezyrno
post
Post #8





Grupa: Zarejestrowani
Postów: 130
Pomógł: 0
Dołączył: 11.09.2011

Ostrzeżenie: (50%)
XXX--


a w podstaci zakodowanej?
Go to the top of the page
+Quote Post
Crozin
post
Post #9





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Ale po co w ogóle trzymać jakiekolwiek dane użytkownika w ciastkach?

- generujesz losowy ciąg,
- zapisujesz go do bazy danych wraz z ID powiązanego użytkownika,
- zapisujesz go w ciastku,
- przy kolejnych odsłonach pobierasz sobie ID użytkownika na podstawie tego losowego ciągu.
Go to the top of the page
+Quote Post
Pyton_000
post
Post #10





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


sam losowy ciąg nie wystarczy bo wystarczy przenieść go na inna maszynę i juz mamy pełny dostęp.
Trzeba zabezpieczyć maksymalnie zapisując IP, UA i inne elementy aby w miarę jednoznacznie rozpoznać użytkownika
Go to the top of the page
+Quote Post
Crozin
post
Post #11





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


@Pyton_000: Generalnie dokładnie tak samo jak chociażby z ciasteczkiem sesyjnym. IP/UA niejednokrotnie są na tyle ulotne, że nie można ich potraktować jako elementu identyfikującego.
Go to the top of the page
+Quote Post
Pyton_000
post
Post #12





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Zgadza się, ale ulotność ma zapobiec przenoszeniu UID na inne maszyny i tam się logować automatycznie. Zmiana IP musi nie pozwolić zalogować użytkownika z automatu. A że IP czasami się często zmienia to dodatkowo UA + dodatkowe dane które można wyciągnąć od usera. Wtedy sprawdzasz np. 3 warunki i jeżeli 2 zachodzą to dajesz dostęp a jak nie to sorry Winnetou
Go to the top of the page
+Quote Post
wezyrno
post
Post #13





Grupa: Zarejestrowani
Postów: 130
Pomógł: 0
Dołączył: 11.09.2011

Ostrzeżenie: (50%)
XXX--


ale nie rozumiem... przecież ciasteczka są tylko na PC użytkownika, wiec jak można je pozyskać? po co te zabezpieczenia?
przecież w taki sam sposób zapisuje to przeglądarka

mi przecież nie chodzi zapamiętywanie logowania,
ale o SAMO uzupełnianie formularzy - do wciśnięcia buttonu logowania

Ten post edytował wezyrno 23.06.2014, 13:24:56
Go to the top of the page
+Quote Post
nospor
post
Post #14





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




1) Ktos wejdzie na komputer, z ktorego sie logowales i pozna twoje haslo
2) Bedziesz mial dziurawą strone, a patrzac na to ze nie rozumiesz tego co chcesz zrobic, to na pewno bedziesz mial dziurawą strone i przy pomocy ataku XSS bedzie mozna wykraść ciastka dowolnej osobie wchodzącej na Twoją strone.

Cytat
przecież w taki sam sposób zapisuje to przeglądarka
No raczej nie....
Po pierwsze przegladarki nie zapamietują hasel
Po drugie jak juz zapamietują to jest to specjalny mechanizm, w ktorym mozna dane zakodowac ogolnym haslem nalozonym na przegladarke
Po trzecie dane te nie są dostepne z poziomu js i raczej luka XSS w twojej stronie nie pozwolila by na zdobycie tych danych

Podsumowujac:
przyjmij do wiadomosci, ze to co chcesz zrobic, czyli zapamietanie loginu i hasla by sie samo do forma zapisywalo, to bardzo zly pomysl. Jakbym gdzies na stronie kiedys zobaczyl ze jakis "geniusz" tak zrobil, to bym omijał te strone z daleka


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
wezyrno
post
Post #15





Grupa: Zarejestrowani
Postów: 130
Pomógł: 0
Dołączył: 11.09.2011

Ostrzeżenie: (50%)
XXX--


Dzięki,
mam więc jeszcze jedno pytanko tyczące się już innej kwestii. To jak jest więc z tą opcją "zapamiętania logowania" na stronach, działającą w ten sposób, aby gracz nie musiał się logować cały czas po wejściu na stronę. To jest zapisywane w sesji, nie w ścisłych ciasteczkach? Jak to działa, skoro nie zapisuje hasła.
Go to the top of the page
+Quote Post
Crozin
post
Post #16





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


http://forum.php.pl/index.php?s=&showt...t&p=1112024
Go to the top of the page
+Quote Post
Brick
post
Post #17





Grupa: Zarejestrowani
Postów: 107
Pomógł: 9
Dołączył: 16.02.2004
Skąd: Kraków

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


Opcja "zapamiętaj mnie" polega na tym że w pliku cookie zapisujesz dłuższy czas jego ważności, np 3 miesiące lub rok
  1. if ($remember==1) //użytkownik zaznaczył "zapamiętaj mnie"
  2. $time = time() + 60*60*24*30*12; //cookie ważne rok
  3. else
  4. $time = 0; //cookie jest usuwane po zamknięciu przeglądarki
  5.  
  6. setcookie("user_id",1,$time,"/");
Oczywiście nazwa i wartość cookie są przykładowe.

Za to samo logowanie można zrealizować w ten sposób, że zapisujesz dwa pliki cookie. Pierwszy to ID użytkownika z bazy, drugi to zaszyfrowana za pomocą algorytmu md5 kombinacja hasła+ID+jakiś ciąg znaków
  1. $user_id = 1; //unikalny ID użytkownika z bazy
  2. 1. setcookie("user_id",$user_id,$time,"/");
  3.  
  4. $string = "jakis_tekst"; //dowolny ciąg znaków
  5. $uniq = md5($user_id.$haslo.$string);
  6. 2. setcookie("uniq",$uniq,$time,"/");
Po każdym wyświetleniu strony pobierasz dane z bazy dla użytkownika $user_id i porównujesz hasło z tym co ma w cookie (przeprowadzając oczywiście operacje jak wyżej czyli md5 itd)

Do kontroli całego mechanizmu logowania zaleca się korzystanie z sesji PHP http://pl1.php.net/manual/en/book.session.php, które są bezpieczniejsze niż własne pliki cookie.

Ten post edytował Brick 26.06.2014, 09:07:29


--------------------
Wszystko należy robić najprościej jak się da, ale nie prościej
Albert Einstein
Go to the top of the page
+Quote Post
wezyrno
post
Post #18





Grupa: Zarejestrowani
Postów: 130
Pomógł: 0
Dołączył: 11.09.2011

Ostrzeżenie: (50%)
XXX--


Dzięki przeogromne za dokładne objaśnienie.
Skrypty się przydadzą!
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 09:17