Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Generowanie md5 a przycisk
Forum PHP.pl > Forum > Przedszkole
Freecast
Witam

pisze ten temat ponieważ raczkuje w dziedzinie PHP , mam takie pytanie posiadam formularz rejestracyjny kont użytkowników i chce zrobić tak aby po naciśnięciu guzika generuj hasło w polu hasło w formularzu pojawił się wygenerowany kod md5 służący jako hasło dla usera jak to zrobić proszę o pomoc
Kamil Pietrzak
md5 nie uzywa sie po stronie uzytkownika, tylko po stronie serwera
user wpisuje/generuje normalne haslo, a serwer je hashuje

jak chcesz przycisk "generuj", to uzyj jakiejs funkcji do generowania losowego ciagu znakow w JS

jak masz
  1. <input type="text" name="" id="inp1">


to potem w js mozesz wstawic do niego jakis ciag w ten sposob
  1. document.getElementById('inp1').value='tresc';
wNogachSpisz
Cytat(Kamil Pietrzak @ 7.10.2011, 11:51:02 ) *
md5 nie uzywa sie po stronie uzytkownika, tylko po stronie serwera
user wpisuje/generuje normalne haslo, a serwer je hashuje

Bzdura, zhashowanie hasła po stronie przeglądarki to wyśmienity pomysł (zarówno podczas rejestracji jak i logowania).

Możesz to zrobić np. tak:

[JAVASCRIPT] pobierz, plaintext
  1. $(form).submit(function(){
  2. this.haslo.value = md5(this.haslo.value)
  3. })
[JAVASCRIPT] pobierz, plaintext


definicję funkcji md5 w javascript masz tutaj:
http://phpjs.org/functions/md5:469

I jeszcze raz gratuluje pomysłu i wychodzenia poza schematy, takich ludzi nam potrzeba happy.gif
erix
To rozwiązanie ma kilka wad:
  • uzależniasz się od JS
  • większa waga strony (ale to można przeboleć)
  • nawet jak zrobisz saltowanie, to jest bez sensu, bo i atakujący bardzo łatwo pozna algorytm solenia hasła


Lepszym wyjściem jest skorzystanie z SSL.

Cytat
I jeszcze raz gratuluje pomysłu i wychodzenia poza schematy, takich ludzi nam potrzeba

A ja gratuluję myślenia w formie sztuka dla sztuki nie uwzględniając faktu, że może otwierać luki w bezpieczeństwie.
wNogachSpisz
Cytat(erix @ 8.10.2011, 14:24:47 ) *
A ja gratuluję myślenia w formie sztuka dla sztuki nie uwzględniając faktu, że może otwierać luki w bezpieczeństwie.


Aha, czyli przesyłanie hashu hasła zamiast hasła to Twoim zdaniem otwieranie luk bezpieczeństa?
Moje najserdeczniesze gratulacje, to chyba Twoja pora aby udać się na dłuższy urlop.
Crozin
@wNogachSpisz: I co z tego że prześlesz hash, skoro ja będę mógł zrobić dokładnie to samo? Może i nie będę mieć dostępu do hasła w formie jawnej*, ale sam hash daje mi dokładnie te same możliwości co czyste hasło.

Odpowiedź na pytanie już padła - SSL.

* chociaż w przypadku MD5 znalezienie kolizji dla danego hasha nie powinno być wielkim problemem.
erix
Cytat
Aha, czyli przesyłanie hashu hasła zamiast hasła to Twoim zdaniem otwieranie luk bezpieczeństa?

Ależ oczywiście: można do woli bure-force'ować hasła, bo nawet jak będziesz próbować saltować hasła po stronie klienta, to Ci to nic nie da - algorytm jest jawny, dane też będzie w miarę łatwo zdobyć. I wracamy do punktu wyjścia - atakujący wie, jak saltować, leci wszystko do serwera tak, jakby tego solenia nie było.

A przy możliwościach dzisiejszych kart graficznych hashowanie haseł, czy znajdowanie kolizji, to pikuś. Pan Pikuś, robiący CUDA.

Zrzucanie weryfikacji tożsamości na stronę klienta, to najgorsze z możliwych rozwiązań. Klient może być użytkownikiem, ale także i atakującym. Jak chcesz rozróżnić jednego od drugiego, skoro żądania obu będą identyczne i narażające na skompromitowanie całego systemu?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.