Strona 1 z 2
[php + Mysql] weryfikacja hasla
: sob sie 16, 2003 5:20 pm
autor: the_foe
Mam pytanko co jest bezpieczniejsze, werysikowanie hasla na poziomie SQL:
Kod: Zaznacz cały
$ask=mysql_query("SELECT * tabela_1 WHERE login='$login' AND pass='$haslo'");
$numrows=mysql_num_rows($ask);
if ($numrows==1){
//ok
}else{
//niepoprawne logowanie
}
czy na poziomie php:
Kod: Zaznacz cały
$ask=mysql_query("SELECT * tabela_1 WHERE login='$login');
$rzad=mysql_fetch_array($ask);
$haslo_baza=$rzad['pass'];
if ($haslo==$haslo_baza){
//ok
}else{
//niepoprawne logowanie
}
tak wiec o preferujecie?
Re: [php + Mysql] weryfikacja hasla
: sob sie 16, 2003 5:49 pm
autor: Wojciech Jurewicz
Za wielkiej różnicy nie ma... (w tych rozwiązanich)
Ale ja jestem za MySQL. Podejżewam że jest to nawet wydajniejsze, a i dostac sie do bazy trudniej...

Re: [php + Mysql] weryfikacja hasla
: sob sie 16, 2003 7:59 pm
autor: Michał Fikus
Różnicy w bezpieczeństwie nie ma praktycznie żadnej.
Co do tego co preferuję to również sprawdzanie z poziomu sql, gdyż kod jest krótszy.
Re: [php + Mysql] weryfikacja hasla
: ndz sie 17, 2003 12:04 am
autor: MaKaO
Wszystko w miare OK, ale zdecydowanie dodaj jeszcze md5!

Re: [php + Mysql] weryfikacja hasla
: ndz sie 17, 2003 7:00 am
autor: Michał Fikus
md5() napewno jest w wcześniejszym kodzie

Choć jak już wszystko wrzucać do SQLa to wszystko

Re: [php + Mysql] weryfikacja hasla
: ndz sie 17, 2003 2:44 pm
autor: the_foe
MaKaO pisze:Wszystko w miare OK, ale zdecydowanie dodaj jeszcze md5!

a co qurczak jest??? sprawdzilem w maualu, ale dalej nie kumam po co to jest. Prossze o wtlumacznie. Dzieki
Re: [php + Mysql] weryfikacja hasla
: ndz sie 17, 2003 3:01 pm
autor: MaKaO
Masz tu kod PHP, skryptu do kodowania tekstu przez md5...
md5.php
--------------------------------
[php]<?
$form = "<p>Podaj wyraz do zakodowania</p>
<form method=post action=\"md5.php\">
<tr><td>Wyraz:</td>
<td><input type=text name=string size=15 maxlength=100></td></tr>
<tr><td colSpan=2 align=center>
<input type=submit value=Zakoduj><input type=reset value=Wyczyść></td></tr>
</table></form>";
$stringx = md5($string);
if(isset($string)){
print "Wyraz zakodowany to $string, a jego postać zakodowana wygląda następująco: $stringx";
} else {
print $form;
}
?>[/php]
Przeanalizuj to i napewno zrozumiesz co to md5... I dodam tylko, że md5 nie można odkodować

A jeżeli zapytasz się to jak sprawdzić czy hasło jest poprawne... Bardzo prosto

Masz w bazie zakodowane hasło i wystarczy, że zakodujesz to wpisane przez użytkownika, który chce się zalogować i porównasz...

Re: [php + Mysql] weryfikacja hasla
: ndz sie 17, 2003 3:28 pm
autor: the_foe
MaKaO pisze:Przeanalizuj to i napewno zrozumiesz co to md5... I dodam tylko, że md5 nie można odkodować

A jeżeli zapytasz się to jak sprawdzić czy hasło jest poprawne... Bardzo prosto

Masz w bazie zakodowane hasło i wystarczy, że zakodujesz to wpisane przez użytkownika, który chce się zalogować i porównasz...

no rzeczywiscie sprytne, ale mowiac prawde nei rozumiem do zego to jest przydatne, skoro do skryptu i tak idzie haslo neiskodowane, czyli jak ktos kogos sniffuje to i tak widzi co wpisac. Do tego by ludzie majacy dostep do bazy nie odczytali hasla? ale po co, jak i tak do wszytkiego maja dostep (chyba ze wszytko bedziemy kodowac co sie da...

.
Bardziej by sie chyba przydal skrypt w js, ktory przed wysalniem formularza koduje to do tej postaci i juz wysyla skodowane.
Sorki za moje pzremyslania, moze sie myle... prosze o wyjasnienie w jakich sytuacjach rauje to zycie.
Re: [php + Mysql] weryfikacja hasla
: ndz sie 17, 2003 3:33 pm
autor: MaKaO
Chyba sie nie rozumiemy, chodzi o to, że ktoś kto niedaj Boże włamał by się do bazy mógłby sobie odczytać hasła i zalogować się potem w serwisie na kogoś innego i narobić dużo szkód... A tak nie ma raczej możliwości, aby coś takiego miało miejsce i głównie po to koduje się hasła za pomocą md5...

Re: [php + Mysql] weryfikacja hasla
: ndz sie 17, 2003 5:02 pm
autor: the_foe
MaKaO pisze:Chyba sie nie rozumiemy, chodzi o to, że ktoś kto niedaj Boże włamał by się do bazy mógłby sobie odczytać hasła i zalogować się potem w serwisie na kogoś innego i narobić dużo szkód... A tak nie ma raczej możliwości, aby coś takiego miało miejsce i głównie po to koduje się hasła za pomocą md5...

no tak... masz racje...
Re: [php + Mysql] weryfikacja hasla
: ndz sie 17, 2003 7:29 pm
autor: Krzysztof Aszkiełowicz
Ja używam obu sposobów do sprawdzenia poprawności. Hasło jest kryptowane niepodważalnym algorytmem Myśle że to wystarczy

Re: [php + Mysql] weryfikacja hasla
: ndz sie 17, 2003 10:54 pm
autor: Wojciech Jurewicz
MaKaO pisze:I dodam tylko, że md5 nie można odkodować

No muszę ciebie rozczarować... ktoś już to zrobił...
Pozwolę sobie zacytować treść z książki PHP4 Aplikacje:
Kryptolodzy VanOorshot i Wiener zaprojektowali teoretyczną maszynę przeszukującą dla algorytmu MD5 i obliczyli że w roku 1994, że takie użądzenie (o szacowanej wartości 10 mln USD) musiałoby pracować nieprzerwanie przez 24 dni nad rozwiązaniem komuniaktu zakodowanego tą metodą.
Co prawda jest to maszyna teoretyczna, ale informacje pochodzą z 1994 roku. Pytanie tylko czy to się opłaca...

Nie wiem nic więcej na ten temat i nie wiem czy to działa, fakt jest taki że coś z tej beczki jest... już jest...

Re: [php + Mysql] weryfikacja hasla
: ndz sie 17, 2003 11:01 pm
autor: the_foe
Krzysztof Aszkiełowicz pisze:Ja używam obu sposobów do sprawdzenia poprawności. Hasło jest kryptowane niepodważalnym algorytmem Myśle że to wystarczy

teoretycznie tak, ale powiedzmy ze goistek potrzebuje kodu. wlamuje sie do bazy. Powiedzmy ze haslo to "Motyl" reprezentuje go jakis kod. Niby nic mu to nie daje. Powiedzmy ze jest nim "t3nu2334". Juz jednak widze jak ktos robi program ktory przepuszcza caly slownik przez taki koder i w koncu trafi na nasz wynik i ma sie haslo!
Re: [php + Mysql] weryfikacja hasla
: ndz sie 17, 2003 11:17 pm
autor: Wojciech Jurewicz
the_foe pisze:teoretycznie tak, ale powiedzmy ze goistek potrzebuje kodu. wlamuje sie do bazy. Powiedzmy ze haslo to "Motyl" reprezentuje go jakis kod. Niby nic mu to nie daje. Powiedzmy ze jest nim "t3nu2334". Juz jednak widze jak ktos robi program ktory przepuszcza caly slownik przez taki koder i w koncu trafi na nasz wynik i ma sie haslo!
No a jak będzie miał hasło Motyl1... Słownik mu wtedy nic nie da... Tylko Brute Force... A to może mu zająć ... dużo czasu...

Re: [php + Mysql] weryfikacja hasla
: pn sie 18, 2003 12:00 am
autor: Michał Fikus
Ale nie wszyscy użytkownicy o tym myślą i zdecydowanie łatwiej przychodzą im słowa standardowe. Dlatego o bezpieczeństwo powinien się starać webmaster. A może to zrobić np. poprzez dodanie do hasła usera swojego wlasnego kodu, np:
$ukryte_haslo="3hdd8";
$haslo="$ukryte_haslo"."$_POST['pass']";