Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Logowanie - sesje czy cookies?, Co lepsze, bezpieczniejsze i szybsze?
MP1
post
Post #1





Grupa: Zarejestrowani
Postów: 194
Pomógł: 0
Dołączył: 22.09.2003
Skąd: Polska

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


Na czym lepiej oprzeć logowanie użytkowników i dlaczego? Na sesjach, czy samych cookies? Jeśli możecie, podajcie także zalety i wady oby dwóch sposobów.
Ważne jest bezpieczeństwo i szybkość.
Go to the top of the page
+Quote Post
Ociu
post
Post #2





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Ja używam cookies, jakoś bardziej mi przypadły do gustu.

Teraz jade na własnym systemie sesji. Aby przechować sesję w bazie danych używam właśnie cookies (noi do tego adres, ale temat jest o ciastkach).
Go to the top of the page
+Quote Post
Nievinny
post
Post #3





Grupa: Zarejestrowani
Postów: 134
Pomógł: 0
Dołączył: 27.01.2005
Skąd: Białystok

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


Własny bazodoanowy system sesji + cookies, czyli jak większość (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
MP1
post
Post #4





Grupa: Zarejestrowani
Postów: 194
Pomógł: 0
Dołączył: 22.09.2003
Skąd: Polska

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


Logowanie w php-Fusion jest oparte na ciastkach i myślę, że to jest chyba dobry wybór. Nie będzie to serwera obciążać. W COOKIES będzie ID, login i hasło MD5 - nie za dużo? Jeśli się mylę, poprawcie. Może jednak lepiej to oprzeć na sesjach lub zrobić wybór w tym CMSie dla admina (ale wtedy znów więcej kodu trzeba pisać)? Czy jeszcze inaczej?
Zdarzyło się, że na WindowsXP (localhost) jakiś plik sesji miał ponad 1GB.

Ponieważ ważna jest też szybkość generowania, czy takie elementy jak nazwa katalogu skórki i język (niezarejestrowani powinni mieć dostęp do zmiany tych elementów) powinny być przechowywane w COOKIES?

Ten post edytował MP1 29.04.2005, 16:23:02
Go to the top of the page
+Quote Post
Nievinny
post
Post #5





Grupa: Zarejestrowani
Postów: 134
Pomógł: 0
Dołączył: 27.01.2005
Skąd: Białystok

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


Wystarczy ID, na jego podstawie będzie sprawdzane hasło i user. ID będzie unikalne i niepodrabialne, bo gdy przekroczy limit czasu to następuje zniszczenie sesji, ale gdy user jest aktywny to przekierowuje dane sesji.

@MP1 -> takie rzeczy trzyma się w sesji, a nie w cookies (czyli np w db jeśli sesja tam się trzyma)

Ten post edytował Nievinny 29.04.2005, 16:31:28
Go to the top of the page
+Quote Post
MP1
post
Post #6





Grupa: Zarejestrowani
Postów: 194
Pomógł: 0
Dołączył: 22.09.2003
Skąd: Polska

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


Sesje w DB... Trzymać je w bazie? Tam będzie miejsce dla danych o użytkownikach.
Nie lepiej będzie użyć obsługi sesji wbudowanej w php?
Co wtedy, gdy serwer nie obsługuje sesji? Zrobię chyba wybór dla admina, gdzie wpisane przez użytkownika dane mają być przechowywane.

Skórkę i ID możnaby właściwie w cookies trzymać (nie jest to dużo danych), ponieważ jeśli byłoby to w sesjach przechowywane, a strona, która będzie oparta na tym CMSie będzie popularna, a każdy by zmieniał te dane, niezły śmietnik by się zrobił na serwerze.
Jeśli byłoby to w bazie, byłoby to dostępne tylko dla zarejestrowanych.

Ten post edytował MP1 29.04.2005, 17:38:10
Go to the top of the page
+Quote Post
soldat
post
Post #7





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 14.03.2005
Skąd: W-wa

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


Ja właściwie również lubię używać ciastek, tyle że ....

Jakiś czas temu popełniłem taki mały portalik, w któym logowanie było oparte na cookies. I dość szybko trzeba było odpowiadać na maile ludzi, którzy włączyli sobie radośnie w Windowsie jakiś tam "największy stopień bezpieczeństwa" i których potem przerastało włączenie sobie obsługi cookies w "jedynej słusznej" przeglądarce (czyt. IE).

W sumie zależy co i dla kogo się pisze (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Wave
post
Post #8





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 13.01.2005

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


Zdecydowanie cookies. Pomijając przykład soldata jest to najlepszy wybór.
Z sesjami jest zawsze kłopot.
Go to the top of the page
+Quote Post
Nievinny
post
Post #9





Grupa: Zarejestrowani
Postów: 134
Pomógł: 0
Dołączył: 27.01.2005
Skąd: Białystok

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


Cytat(MP1 @ 2005-04-29 17:33:41)
Jeśli byłoby to w bazie, byłoby to dostępne tylko dla zarejestrowanych.

A utworzenie użytkownika o nazwie Anonymus to co? Sesje dla gości też są przydatne...
Go to the top of the page
+Quote Post
MP1
post
Post #10





Grupa: Zarejestrowani
Postów: 194
Pomógł: 0
Dołączył: 22.09.2003
Skąd: Polska

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


Cytat(Nievinny @ 2005-04-30 07:09:54)
Cytat(MP1 @ 2005-04-29 17:33:41)
Jeśli byłoby to w bazie, byłoby to dostępne tylko dla zarejestrowanych.

A utworzenie użytkownika o nazwie Anonymus to co? Sesje dla gości też są przydatne...

No i co wtedy? Jeden użytkownik anonimowy zmienia skórkę i wszyscy pozostali goście mają taką mieć? Podobnie z językiem...
Go to the top of the page
+Quote Post
sobstel
post
Post #11





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

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


moim zdaniem takie rzeczy jak preferencje powinno trzymac sie w tabeli z danymi o userach, a w zmiennych sesyjnych przede wszystkim id usera + jakis unikalny token. w szczegolnych uzsasadnionych przypadkach takze inen dane... ale to tylko w szczegolnych ;-)
Go to the top of the page
+Quote Post
Ociu
post
Post #12





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Cytat(Nievinny @ 2005-04-30 08:09:54)
A utworzenie użytkownika o nazwie Anonymus to co? Sesje dla gości też są przydatne...

Wtedy się robi:
  1. <?php
  2. if($_POST['nick'] == 'Anonymus' || $_POST['nick'] == 'anonymus' )
  3. {
  4. die('nieporawny uzytkownik');
  5. }
  6. ?>

(IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
pillot
post
Post #13





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 9.05.2004
Skąd: Puszów

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


jeśli Anonymous to mocno ograniczone możliwości (odczyt, dostep do okreslonych widoków)

sesje + db + session handler - super sprawa!
Go to the top of the page
+Quote Post
Nievinny
post
Post #14





Grupa: Zarejestrowani
Postów: 134
Pomógł: 0
Dołączył: 27.01.2005
Skąd: Białystok

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


Ja tam jestem za mocno ograniczonym Anonymusem...
@Ociu -> to się jednek przydaje, lepszy wgląd do tego co robią użytkownicy-goście
@pillot -> sesje + db + SH = goodgoodgood etc
W tej sprawie pełne poparcie. Powiedzmy, że gość otrzyma widok strony głównej i na widok downloadu, ale już nie ściąganie
Go to the top of the page
+Quote Post
Ociu
post
Post #15





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Chodziło mi o zabezpieczenie rejestracji, przed właśnie takim userem.
Go to the top of the page
+Quote Post
mario
post
Post #16





Grupa: Zarejestrowani
Postów: 186
Pomógł: 0
Dołączył: 23.09.2003
Skąd: Siemianowice Śląskie

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


Zdecydowanie odradzam COOKIES z 2 powodów:

1 - user ma wyłączoną obsługę COOKIES i się nie zaloguje
2 - dane trzymane w COOKIES można podejrzeć, a co za tym idzie poprzez zmianę tych danych w ciasteczku oszukać system.

Grzechem jest równiez trzymanie w COOKIES wszelkich loginów, haseł, itd. Jestem STANOWCZO NA TAK za sesjami, baza danych nie jest wymagana. Wystarczy zapisać do sesji id sesji, status usera, czy zalogowany, itd. a to wszystko zaszyfrować bądź hashować. Wtedy bezpieczeństwo jest duże. Bo kto w 42 znakowym hashu domyśli się co tam jest zapisane (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
sobstel
post
Post #17





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

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


Cytat(mario @ 2005-05-01 10:36:01)

Cytat
1 - user ma wyłączoną obsługę COOKIES i się nie zaloguje


weg najnowszych danych ranking.pl 98,1 % odwiedzajacych polskei strony ma wlaczone cookies. wymuszanie cookies + wyjasnienie dlaczego chcemy wlaczonego cookies + opisana polityka prywatnosci jest pewny sposobem aby userzy wlaczyli cookies dla naszej strony

Cytat
dane trzymane w COOKIES można podejrzeć, a co za tym idzie poprzez zmianę tych danych w ciasteczku oszukać system


mozna to rozwiazac przez odpowiedni system unilanych tokenow czy cos w tym rodzaju. samego loginu czy id oczywiscie trzymac sie nie powinno.

Cytat
Grzechem jest równiez trzymanie w COOKIES wszelkich loginów, haseł, itd. Jestem STANOWCZO NA TAK za sesjami, baza danych nie jest wymagana. Wystarczy zapisać do sesji id sesji, status usera, czy zalogowany, itd. a to wszystko zaszyfrować bądź hashować. Wtedy bezpieczeństwo jest duże. Bo kto w 42 znakowym hashu domyśli się co tam jest zapisane (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


wystarczy ze ktos mi da adres z id sesji na koncu i po sprawie... nie musze znac loginow, hasel, itp. system sam mnie zwerfikuje po id sesji...
Go to the top of the page
+Quote Post
Ociu
post
Post #18





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Dlatego pisze się własny system sesji, a o ty, czy jest się zalogowanym trzyma się albo w ciachu, albo w adresie.
Go to the top of the page
+Quote Post
MP1
post
Post #19





Grupa: Zarejestrowani
Postów: 194
Pomógł: 0
Dołączył: 22.09.2003
Skąd: Polska

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


Proponujecie oprzeć system logowania na własnych sesjach przechowywanych w bazie. W jaki sposób? Jeśli w ciastkach zapisywany byłby sam ID, można w ten sposób uzyskać dostęp do konta innego usera.
Np. w SQLu zapisywane są wpisane w formularzu dane. Jeśli są zgodne z prawdziwym loginem i hasłem, jesteśmy zalogowani.
W ciasteczku zmieniamy wartość ID na inny z nadzieją, że użytkownik nie wylogował się ręcznie. W ten sposób uzyskujemy dostęp.

Trzymanie wpisanych danych w cookies to jednak bezpieczniejsze rozwiązanie, gdy hasło zapisujemy w MD5().
Są 2 ciastka. Jedno zawiera tylko indetyfikator sesji, zaś drugie - dane (login, hasło MD5 - potrzebne wtedy, gdy sesja wygaśnie).

Tak poza tym - długo trwa wysyłanie danych ciastka z loginem i zakodowanym MD5 hasłem? php-Fusion też trzyma w cookies. Wtedy po co pchać sesje?

Ten post edytował MP1 21.05.2005, 21:37:41
Go to the top of the page
+Quote Post
NuLL
post
Post #20





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


http://www.php.pl/index.php/phppl/artykuly...handler_czesc_i
A no np. w ten sposób (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
A wracając do ciastek - zakładamy wrzucasz ID - ja znam kod wiem, że np. dzięki MD5 hashujesz id - a ja sobie zshashuje jakiś inny ID - wrzuce do ciastka i co wtedy ? (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 21.12.2025 - 02:12