![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Czy ktoś mógłby mnie nakierować na tutorial w którym przedstawiono by mechanizm logowania z zabezpieczeniem, że jeżeli ktoś się loguje z innej przeglądarki/adresu ip to następuje wylogowanie (usunięcie sesji) we wszystkich pozostałych przeglądarkach/adresach?
Czyli sytuacja wygląda tak loguje się używając firefoxa, coś robię. wchodzę na stronę przez opere (loguje się oczywiście na to samo konto) i następuje wylogowanie w firefoksie. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 34 Dołączył: 7.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ja zrobiłbym to tak:
Przy logowaniu uzytkownika do bazy dopisujemy godzinę jego zalogowania. Następnie dodajemy tą godzinę do zmiennej, lub przekazujemy w adresie. Potem na stronie dodajemy if'a sprawdzającego czy godzina z bazy jest identyczna z tą w zmiennej. Jeżeli jest inna, to znaczy, że ktoś inny zalogował się na to konto. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
W łatwy sposób można się pod kogoś podszyć, ale już mam pomysł zapiszę w bazie ip logowania i przeglądarkę i będę sprawdzał czy się nie zmienia.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 207 Pomógł: 18 Dołączył: 12.04.2009 Skąd: Rypin Ostrzeżenie: (0%) ![]() ![]() |
A o sesjach i cookies to wy nie słyszeliście?
Cytat Ja zrobiłbym to tak: Przy logowaniu uzytkownika do bazy dopisujemy godzinę jego zalogowania. Następnie dodajemy tą godzinę do zmiennej, lub przekazujemy w adresie. Potem na stronie dodajemy if'a sprawdzającego czy godzina z bazy jest identyczna z tą w zmiennej. Jeżeli jest inna, to znaczy, że ktoś inny zalogował się na to konto. Albo ta sama osoba wylogowała się, bo była w kafejce i przyszła do domu, po czym znów chciała się zalogować... Cytat W łatwy sposób można się pod kogoś podszyć, ale już mam pomysł zapiszę w bazie ip logowania i przeglądarkę i będę sprawdzał czy się nie zmienia. I ta sama sytuacja jak i powyżej... użytkownicy neostrady mają zmienne IP, a wielu użytkowników takich jak ja np. korzysta z kilku przeglądarek http://webhosting.pl/Jak.zrobic.w.PHP.system.logowania Naturalnie logowanie na samych sesjach i cookies nie są całkowicie bezpieczne, ale na pewno to lepsze niż te wasze metody (IMG:style_emoticons/default/biggrin.gif) . Większe serwisy internetowe, aby zapewnić bezpieczeństwo stosują protokoły ssl(czyli protokoły szyfrowane, darmowy to openSSL - więcej info w manualu php) Ten post edytował emtiej 31.01.2010, 14:43:59 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 34 Dołączył: 7.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Albo ta sama osoba wylogowała się, bo była w kafejce i przyszła do domu, po czym znów chciała się zalogować... Tyle, że przecież ten if o którym pisałem nie eliminowałby możliwości zalogowania się, tylko podczas próby zrobienia czegokolwiek na "starszym" logowaniu, użytkownik zostałby wylogowany, bo jego data nie zgadzałaby się z tą w bazie. A co do sesji... cóż, czasami trudno zauważyć najprostrze rozwiązanie. Pozdrawiam |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 678 Pomógł: 124 Dołączył: 26.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
I ta sama sytuacja jak i powyżej... użytkownicy neostrady mają zmienne IP, a wielu użytkowników takich jak ja np. korzysta z kilku przeglądarek IMHO nie masz racji. Zabezpieczenia logowania powinny chronić przed tzw. przechwyceniem sesji i zapisywanie ip i przeglądarki logującego się użytkownika i sprawdzanie ich na bieżąco jest na to najlepszym sposobem. Piszę w ten sposób bo wydaje mi się, że chcecie jakimś cudem zezwolić na logowanie tylko prawowitemu użytkownikowi nawet jeśli inna osoba zna jego hasło a to że ktoś go nie potrafi upilnować, wszędzie ma takie same i nigdy go nie zmienia to już nie problem administratora/webmastera. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ok cały mechanizm logowania mam zrobiony, teraz staram się tylko wyeliminować problem z 2 osobami zalogowanymi na jedno konto, ale jak już napisałem zrobię to mniej więcej tak:
user 1 loguje się zapytanie do bazy jaki był ostatni wpisany ip i przeglądarka dla tego usera, jeżeli jest inne to kolejne zapytanie zamieniające przeglądarkę i ip na te aktualne user 1 jest zalogowany i na każdej stronie leci zapytanie do bazy czy nie zmieniła się przeglądarka albo ip, jeżeli tak to wylogowuje go z konta user 2 loguje się na konto sprawdzenie ip/browser i zamiana user 1 przy sprawdzeniu zostaje wylogowany |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 10.12.2007 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
A o sesjach i cookies to wy nie słyszeliście? http://webhosting.pl/Jak.zrobic.w.PHP.system.logowania Naturalnie logowanie na samych sesjach i cookies nie są całkowicie bezpieczne, ale na pewno to lepsze niż te wasze metody (IMG:style_emoticons/default/biggrin.gif) . Większe serwisy internetowe, aby zapewnić bezpieczeństwo stosują protokoły ssl(czyli protokoły szyfrowane, darmowy to openSSL - więcej info w manualu php) emtiej a słyszałeś o bezpieczeństwie skryptów pisanych pod bazę sql (IMG:style_emoticons/default/questionmark.gif) , jeśli byś słyszał to nie podał byś tak głupiego kursu który nie jest nawet podstawami, nie będę pisał dlaczego bo jeśli ktoś zna php dla niego jest to oczywiste. Tego kursu nie polecam, ani początkującym ani dzieciom. nadaje się tylko dla osób które chcą poświecić stronę do testów, to proszę bardzo. Kolejna twoja wypowiedz dotycząca: Naturalnie logowanie na samych sesjach i cookies nie są całkowicie bezpieczne Jak masz zamiar napisać logowanie nie używając sessji ?, sesje nie są bezpieczne ale jeśli naniesie się odpowiednie poprawki fix itp. to stają się dość dobrym zabezpieczeńiem, cookies napewno nie jest bezpieczeństwem bo jest Clien-Side czyli jest wysyłany i odbierany od klienta, dlatego opierając logowanie na sesji. mamy większe bezpieczeństwo. 2. Sesje zawierają kilka błędów jak np. numer który ma być losowy nie do końca nim jest. 3. Standardowo mają długi okres wygasania co niesie niebezpieczeństwo. 4. Jeśli ktoś ukradnie nam numer sesji na której jesteśmy zalogowani to może wejść na konto nie podawając danych. Dlatego należy wymusić wygasanie sesji co kilka min, w serwisach przy zmianie hasła należy uwzględnić by było wymagane stare hasło by można było wprowadzić nowe. itp. Nie będę się rozpisywał na ten temat bo na temat bezpieczeństwa można by napisać konkretny artykuł be nawet książkę. Pozdrawiam. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 690 Pomógł: 81 Dołączył: 6.04.2005 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.09.2025 - 17:21 |