![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 233 Pomógł: 0 Dołączył: 14.03.2010 Skąd: Dessau Ostrzeżenie: (0%) ![]() ![]() |
hmmm...
To raczej nie jest bezpieczne..? Czy mógłbym usunąć ? Czy i to nic nie da w zabezpieczeniu? -------------------- Przypomnij o "+", jeśli mi pomogłeś a nie zapunktowałem :P
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
W tytule masz sesja, w kodzie masz ciastko. Nie rozróżniasz tych dwóch rzeczy?
Danych użytkownika nie przechowuje się w ciastku. Od tego masz sesję. Ale i to hasła nie ma potrzeby przechowywać w sesji bo i po co? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 23 Dołączył: 5.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Mechanizm sesji przy uwierzytelnianiu działa tak, że użytkownik ma tylko identyfikator sesji (losowy ciąg znaków, który służy tylko identyfikacji sesji). Wysyła ten identyfikator, a serwer go rozpoznaje i pozwala zaglądać w zmienne, które przechowuje właśnie dla tego konkretnego identyfikatora (ciągu znaków).
session_start() wszystko załatwia ... Ten post edytował aeaeae 7.06.2011, 14:33:42 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 483 Pomógł: 50 Dołączył: 15.03.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cytat Ale i to hasła nie ma potrzeby przechowywać w sesji bo i po co? Rozwiń myśli jesli możesz dlaczego tak uwazasz? -------------------- Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas === po prostu kocham ją :D haha |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@Hpsi+ a co tu rozwijać? Po co hasło przechowywać w sesji? Masz ku temu jakiś powód? Jak masz, to ty rozwiń myśl, bo mojej naprawdę nie ma co rozwijać
![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 23 Dołączył: 5.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
W sesji (jej zmiennej) przechowuje się tylko id użytkownika, i tym id można sobie dowolnie operować.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 483 Pomógł: 50 Dołączył: 15.03.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
@nospor, powiem Ci ze teraz zaczynam zastanwiać nad tym, miałem w nawyku żeby zawsze w sesji przechowywać id i haslo zaszyfrowane w md5, na wypadek próby jakieś kombinacji, wiec zastnawia mnie co ty zapisujesz w sesji, gdyż troszkę niebezpiecznie jest przechowywać sam id (przynajmniej tak mi się wydaje)
sory zapomniałem jeszcze o przechowywaniu ip w sesji. Ogólnie sesja mojego użytkownika zawsze jest sprawdzana na zasadzie id + hasło , oraz czy ip zapisany w sesji jest zgodny z tym ip z którego użytkownik korzysta . Ten post edytował Hpsi+ 7.06.2011, 14:40:33 -------------------- Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas === po prostu kocham ją :D haha |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 248 Pomógł: 55 Dołączył: 1.06.2010 Skąd: mam to wiedzieć? Ostrzeżenie: (0%) ![]() ![]() |
IMO to czy przechowujemy id czy id + hasło jest bez różnicy - jak przejmą sesję to i tak przejmą sesję. IMO najlepiej łączyć sesję z ciastkiem, a jeszcze lepiej jakby user był autoryzowany przez certyfikat albo użyć java do pobierania jakiegoś tajnego pliku z kompa usera.
Chyba ten post zbacza z kursu... -------------------- Łatwo jest być odważnym za murami własnego zamku.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 23 Dołączył: 5.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Hpsi+, i może jeszcze za każdym razem gdy wysyłasz zapytanie sprawdzasz czy hasło się zgadza?
![]() Jak ktoś Ci wejdzie na sesję, to i tak to nie ma znaczenia przecież ... |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 483 Pomógł: 50 Dołączył: 15.03.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cytat Hpsi+, i może jeszcze za każdym razem gdy wysyłasz zapytanie sprawdzasz czy hasło się zgadza? Nie, ale sprawdzam za każdym odswierzeniem strony czy są poprawne dane jeśli tak to, wtedy ma zezwolenia do edycji swoich danych etc Cytat Jak ktoś Ci wejdzie na sesję, to i tak to nie ma znaczenia przecież ... Co fakt to fakt, tylko teraz następuje pytanie jak sesje zabezpieczyć tak by tego nie zrobić ![]() ![]() -------------------- Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas === po prostu kocham ją :D haha |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 233 Pomógł: 0 Dołączył: 14.03.2010 Skąd: Dessau Ostrzeżenie: (0%) ![]() ![]() |
Sory, tak szybko pisałem, że sesję pomyliłem z ciachem
![]() -------------------- Przypomnij o "+", jeśli mi pomogłeś a nie zapunktowałem :P
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 157 Pomógł: 1 Dołączył: 15.03.2008 Skąd: Mirostowice Dolne Ostrzeżenie: (0%) ![]() ![]() |
Wg. mnie przechowywanie hasła w sesji nie jest złe, o ile jest ono zahashowane (zaszyfrowane). Jak przechowuje się tylko ID usera to, jeśli ktoś znajdzie dziurę, może podszyć się za każdego, podają ID innego usera. Jak natomiast przechowuje się powiedzmy ID i hasło, to można porównać, czy dla konta o danym ID podane hasło jest poprawne i jak nie - session_destroy(). Co innego z logowaniem przez ciasteczka, ale jak tam też będzie zahaszowane to raczej nie będzie to takie niebezpieczne. No i hasła należy hashować nie tylko md5(hasło), ale np. md5(jakiś_klucz.nazwa_usera.hasło) albo inne cyrki, wtedy jest nieco lepiej zabezpieczone.
A co do https - można dać, ale jak nie masz certyfikatu to będzie info że strona jest potencjalnie niebezpieczna itd. a jak nie masz nie wiadomo jakiego ruchu na stronie czy nie masz tam poufnych danych typu adresy czy numery kont, to zwykłe zabezpieczenia powinny wystarczyć. |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 233 Pomógł: 0 Dołączył: 14.03.2010 Skąd: Dessau Ostrzeżenie: (0%) ![]() ![]() |
Hmm... Hasło jest md5 no i wyszukałem jakieś zabezpieczenia sesji: ip (nie wiem czy to dobre, gdy ktoś ma zmienne IP:/) i coś o SESSION ID. A https:// to mam, że strona zabezpieczona i certyfikat został podpisany prze nieznany środek certyfikacji a wystawca to RapidSSL.
Ten post edytował ReBeLs513 7.06.2011, 19:14:21 -------------------- Przypomnij o "+", jeśli mi pomogłeś a nie zapunktowałem :P
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 8 Dołączył: 28.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ciekawa dyskusja, ale fakt faktem ważniejsze jest zabezpieczenie sesji przed hijackingiem niż to co się w tej sesji trzyma. Ja osobiście jeśli piszę skrypt na czysto, to przechowuje id oraz login. A gdy korzystam z jakichś frameworków, i modułów do autoryzacji, sprawę zupełnie załatwia samo id. Więc to kwestia gustu.
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 233 Pomógł: 0 Dołączył: 14.03.2010 Skąd: Dessau Ostrzeżenie: (0%) ![]() ![]() |
Mi chodzi o jak największe bezpieczeństwo
![]() -------------------- Przypomnij o "+", jeśli mi pomogłeś a nie zapunktowałem :P
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 483 Pomógł: 50 Dołączył: 15.03.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Ciekawa dyskusja, ale fakt faktem ważniejsze jest zabezpieczenie sesji przed hijackingiem niż to co się w tej sesji trzyma. Tu się zgodzę, i moje pytanie w jaki sposób wy zabezpieczacie sesje przez hijackingiem bo to jest coś co mnie bardzo interesuje . Cytat Wg. mnie przechowywanie hasła w sesji nie jest złe, o ile jest ono zahashowane (zaszyfrowane). Jak przechowuje się tylko ID usera to, jeśli ktoś znajdzie dziurę, może podszyć się za każdego, podają ID innego usera. musze się zgodzić z tym tokiem rozumowania, bugi zawsze sie zdarzają niestety ![]() Cytat No i hasła należy hashować nie tylko md5(hasło), ale np. md5(jakiś_klucz.nazwa_usera.hasło) albo inne cyrki, wtedy jest nieco lepiej zabezpieczone. W sesji trzymam samo md5 haslo, natomiast w bazie jest md5(sha1(moj_klucz_generowany_do_strony.haslo_usera))); gdzie przewaznie ten klucz to jest 3-9 literki hasha nazwy strony -------------------- Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas === po prostu kocham ją :D haha |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 6.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Cytat W sesji trzymam samo md5 haslo, natomiast w bazie jest md5(sha1(moj_klucz_generowany_do_strony.haslo_usera))); gdzie przewaznie ten klucz to jest 3-9 literki hasha nazwy strony Więc trzymanie tego w sesji jest zupełnie bezcelowe, bo ani nie wykorzystasz tego hasha do porownania z haslem (nieodwracalnosc md5), ani to wydajne, a w sesji staraj się nie śmiecić - tzn. jak koledzy wyżej mowili - najlepiej tylko ID przechowywac a reszta z bazy czy z plików, jak tam chcesz.pozdro Ten post edytował picios 8.06.2011, 07:39:47 |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 248 Pomógł: 55 Dołączył: 1.06.2010 Skąd: mam to wiedzieć? Ostrzeżenie: (0%) ![]() ![]() |
A co do https - można dać, ale jak nie masz certyfikatu to będzie info że strona jest potencjalnie niebezpieczna itd. a jak nie masz nie wiadomo jakiego ruchu na stronie czy nie masz tam poufnych danych typu adresy czy numery kont, to zwykłe zabezpieczenia powinny wystarczyć. Darmowe ssl są na startssl.com - darmowe i płatne/tanie - ja używam i sprawdzają się świetnie. Przeglądarki akceptują CA więc pytam się "po co przepłacać"? -------------------- Łatwo jest być odważnym za murami własnego zamku.
|
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 483 Pomógł: 50 Dołączył: 15.03.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cytat Więc trzymanie tego w sesji jest zupełnie bezcelowe, bo ani nie wykorzystasz tego hasha do porownania z haslem (nieodwracalnosc md5) Dlaczego uwazasz ze nie jestem w stanie do porownac hasha do tego co jest w bazie skoro moje haslo wyglaa tak: np 4w12s.$hasloUsera to jesli zczytuje po zalogowaniu usera z danych informacje ktore sa zapisane wg zasady wyzej wymiononej, dostaje hasha ktory zostal zapisany, ponownie to hashuje (jakos nie lubie w sesji bezposrednio trzymac hasla w ten sam sposob jak jest zapisany) ponownie w md5 dostaje jakiegos hasha nazwijmy go passHash , wtedy w czasie autoryzacji uzytkownika sprawdzam id oraz czy md5(`password`) = $passHash; -------------------- Daiquiri: T1 = (dx/dt * s)^hpsi
Daiquiri: gdzie T1 - Twój czas przybycia na miejsce, dx/dt - prędkość, s droga Daiquiri: brb trzeba by to poprawić T1 - Czas jaki Ci to zajmie Daiquiri: Zatem T - czas dotarcia p T1 + T2 gdzie T2 = aktualny czas === po prostu kocham ją :D haha |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.07.2025 - 19:40 |