Nie umiem php,otworzyłem kurs php,i "cośtam" piszę.
Dało by się przy połączeniu z bazą danych MySQL host,użytkownika i hasło podać zakodowane w MD5?
To bardzo ważne bo prawdopodobnie w bazie będą przechowywane dane osobowe(baza dla lekarza ;-) ).
Możesz co najwyżej zakodować dwustronnym algorytmem i tak przechowywać w pliku.
np zeby sie logowac wysylajac zakodowane haslo
$row = get_user($_POST['login'], md5($_POST['haslo']));
Tylko hasło można podać zakodowane,bo jak host był zakodowany w md5,to nie odczytało?
Zobacz jak się odbywa weryfikacja hasła:
Mamy dwa źródła:
Skrócone przez MD5 hasło w bazie
Czyste hasło podane przez użytkownika
Jak je porównujemy? Hasło które podał użytkownik (czyste) musimy naturalnie skrócić tym samym algorytmem i w ten sposób, jeśli hasła się zgadzają w bazie będzie ciąg identyczny z tym świeżo skróconym.
Nie ma więc możliwości odszyfrowania hasza MD5, tak więc nie jest to żadne rozwiązanie przy kodowaniu danych osobowych. Nawet ostatnio było głośno o wycieku danych z bazy bezrobotnych Monster. Jedyne co możesz zrobić z danymi, które będziesz chciał odczytać w przyszłości, to zakodować symetrycznie - co i tak mało ci daje gdyż w kodzie ZAWSZE pozostanie klucz do szyfru.
@up: autorowi chodzi o haslo dla uzytkownika bazodanowego.
Pff... W takim razie nie można skutecznie zakodować żadnych danych które podajesz do mysql_connect(). Ważne jest żeby po prostu dobrze pisać kod - dobrze go zabezpieczyć.
A dobry pomysł żeby logowanie zrobić w osbnym pliku,i nadać mu uprawnienia żeby nie można było go odczytać z przeglądarki?
Większość tak robi. Niestety czy tak czy siak jeśli masz jakąś lukę w skrypcie to na nic się zdadzą uprawnienia. Po prostu nie chodzi o to żeby się wbić do configa z przeglądarki, lecz przez jakiś skrypt który ma do niego prawa i zmusić go do ujawnienia configu.
Jeśli zgadnę dlaczego .htaccess wywołuję 500 internal server error,to ustawie dostęp tylko z określonych IP.
Nic ci to nie da. Przeczytaj mój post kilka razy + ewentualnie jakieś prace o web hackingu to się dowiesz czemu.