![]() ![]() |
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ść. |
|
|
|
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). |
|
|
|
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)
|
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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) |
|
|
|
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. |
|
|
|
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... |
|
|
|
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... |
|
|
|
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 ;-)
|
|
|
|
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:
(IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
|
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! |
|
|
|
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 |
|
|
|
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.
|
|
|
|
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) |
|
|
|
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... |
|
|
|
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.
|
|
|
|
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 |
|
|
|
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) |
|
|
|
![]() ![]() |
|
Aktualny czas: 21.12.2025 - 02:12 |