![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 11 Dołączył: 20.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Szukam rozwiązania następującego problemu, mianowicie robię prosty system logowania który składa się ze strony z formularzem (login i hasło) i pliku dokonującego weryfikacji podanych danych przekazanych z formularza za pomocą post-a. Cały problem polega na tym, że zarówno login jak i hasło są wysyłane otwartym tekstem i można je przechwycić każdym sniferem. Czy da się zrobić tak aby hasło i login były haszowane jeszcze przed wysłaniem ich postem (IMG:style_emoticons/default/questionmark.gif) Pozdrawiam blade-mrn |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 493 Pomógł: 32 Dołączył: 14.04.2008 Skąd: Lenkowski.net Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chodzi o login, będzie ciężko, bo i tak zawsze to można odczytać, chyba że wprowadzisz jakiś system szyfrowania loginu w bazi danych, albo coś. W każdym razie jeśli chodzi o hasło, to oczywiście, możesz zrobić to za pomocą javascriptu. Zastanów się jednak czy każdy user ma włączony JS, ew. wprowadź informację o tym że js jest wymagany. Przechodząc do rzeczy tu: masz to w js http://www.uw-team.org/dekoder.html poprzeglądaj sobie kod...
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 2 Dołączył: 24.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
Zahashowane haslo rowniez mozna przechwycic sniferem - efekt bedzie ten sam, bedzie sie mozna zalogowac do systemu wysylajac odpowiednie zapytanie POST posiadajac ten hash.
Hashowanie loginu to sredni pomysl. Moze sie zdarzyc przypadek ze otrzymasz ten sam hash dla dwoch roznych loginow, a nie mozesz na to pozwolic. Do takich rzeczy jest SSL. Ten post edytował kufalo 25.10.2009, 19:52:41 |
|
|
![]()
Post
#4
|
|
Administrator wortalu Grupa: Przyjaciele php.pl Postów: 960 Pomógł: 39 Dołączył: 21.10.2003 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Żeby szyfrowanie hasła przed wysłaniem miało sens musisz zastosować kryptografie asymetryczną. Wtedy będziesz miał pewność co do skuteczności przed sniferami.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 300 Pomógł: 32 Dołączył: 31.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jak jest napisane wyżej żadne zabawy z loginem nie mają sensu. Ale jeśli naprawdę nie masz dostępu do SSL to z hasłem przy logowaniu da się coś zrobić, tylko wymaga to dużo dodatkowej roboty. Do formularza musisz dołączyć _jednorazowy_ ticket (np. jakiś losowo wygenerowany ciąg znaków) i dodać go do hasła przed hashowaniem. Po stronie serwera postępujesz identycznie. Podobnie działa http://en.wikipedia.org/wiki/Digest_access_authentication . Darmowe implementacje sha1/2 w JS są na pewno gdzieś dostępne.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 17:36 |