Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Hało do bazy kodowane MD5?
Forum PHP.pl > Forum > Przedszkole
ArekJ
Witam, czy jest możliwość, aby hasło, dzięki któremu łączę się z bazą danych było zakodowane algorytmem MD5? Jeżeli tak to proszę o podpowiedź :]
blooregard
Funkcja md5() wystepuje zarówno w MySQL jak i php5, więc nie ma żadnego problemu.
ArekJ
Ale mi nie chodzi o to, żeby hasła przechowywane w bazie były kodowane, bo to już mam winksmiley.jpg Chodzi o to, że MD5 nie można odkodować, czyli w razie włamu na serwer jeżeli w pliku połączenia z bazą ustawie MD5 to ktoś będzie miał dostęp tylko do serwa, a do bazy nie winksmiley.jpg Plik konfiguracyjny wygląda tak:

  1. <?php
  2. $dbhost = 'xxx'; // host bazy danych
  3. $dbuser = 'yyy'; // login do bazy danych
  4. $dbpass = 'zzz'; // hasło do bazy danych
  5. $dbname = 'www'; // nazwa bazy danych
  6.  
  7. $dbc = @mysql_connect($dbhost, $dbuser, $dbpass) or die ('Nie moge połaczyc sie z Mysql'); //łaczymy się z baza
  8. mysql_select_db ($dbname) or die ('Nie moge wybrać bazy'); //wybieramy baze danych
  9. ?>


I chciałbym, żeby dbpass było kodowane MD5. Próbowałem $dbpass = md5('tutaj haslo w md5'); ale nie działa sad.gif
Spirit86
Nie ma takiej możliwości. Zwróć uwagę, że we wszystkich cmsach, frameworkach, forach, systemach blogowych, galeriach etc etc jest to niezakodowane. Przypadek? Nie, po prostu tak się tego zrobić nie da.
ArekJ
Aha, szkoda sad.gif A jest możliwość zastosowania innego kodowania, albo czy można jakoś to zabzpieczyć w inny sposób?
Spirit86
Zależnie od konfiguracji serwera. Można zrobić taki myk, że do folderu /home/ wgramy pliki gdzie ustawimy stałe / zmienne z danymi do połączenia się z bazą danych. W serwerze ustawiamy konta ftp, aby łączyły się z /home/www/ - gdzie znajduje się strona www (wszystkie pliki wykonwywalne etc.). Teraz w pliku php robisz include('../confi.data.php'); albo include('home/www/confi.data.php'); i masz już stałe z innego folderu. Co prawda moża to szybko odczytać poprzez zmianę kodu php, np. wpiszemy echo STALA_JAKAS albo zmienna smile.gif. A wyżej edytowałem posta.
blooregard
jeszcze tylko mała dygresja z kryptografii: MD5 to nie algorytm kodujący, ale generujący tzw. hash, czyli jednokierunkowy skrót. W rozsądnym czasie z takiego hasha nie da się odzyskać jawnego (zahaszowanego) tekstu. Na tym polega działanie tego typu algorytmów. Jedynie, co mozna zrobić, to wygenerować hash z innego tekstu i porównac go z haszem tego poszukiwanego. Ale jak juz napisałem, jest to prawie niewykonalne.

W tym tkwi siła tego typu zapisu haseł w bazie: user logując się na stronie wpisuje hasło, a skrypt logujący porównuje hash tego hasła z hashem zapisanym w bazie (a nie haseł pisanych jawnym tekstem).

A specyfiką MD5 jest np. to, że dwa bardzo długie teksty różniące się JEDNYM znakiem generują hasze SKRAJNIE odmienne, więc nawet analiza prównawcza haszy nic tu nie da.

Sorry za OT smile.gif
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.