Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> php i mysql, bezpieczne polaczenie (ukrycie hasla)
deniol13
post 28.03.2011, 14:16:50
Post #1





Grupa: Zarejestrowani
Postów: 190
Pomógł: 2
Dołączył: 30.11.2009

Ostrzeżenie: (10%)
X----


Witam, za jakiś czas (do wakacji) wypuszczę swój skrypt forum, podstawowo będzie obsługiwał bazę MySQL ale mniejsza o to.
Chcę jakoś ukryć hasło do połączenia z bazą mysql. Dane połączenia zapisane są w tablicy $config w pliku Config.php i jest to "czysty" tekst, czyli można łatwo odczytać hasło i mam pytanie:
-Czy da się aby hasło było w postaci hash'a np md5 i do połączenia podać go jako hash a serwer sql sam sobie sprawdzi zgodność hasha z pliku z hashem hasła bazy? Coś podobnego jak zabezpieczenie haseł użytkowników.
Go to the top of the page
+Quote Post
darko
post 28.03.2011, 15:08:25
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Prawie dokładnie tak się to powinno zrobić w tym przypadku.
  1. SELECT md5('test')


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
deniol13
post 28.03.2011, 15:51:17
Post #3





Grupa: Zarejestrowani
Postów: 190
Pomógł: 2
Dołączył: 30.11.2009

Ostrzeżenie: (10%)
X----


nie chodzi mi o to, jak za pomocą SQL zahashować tekst, tylko jak się połączyć z bazą używając hasha hasła, o ile się tak da
Go to the top of the page
+Quote Post
pitu
post 28.03.2011, 15:56:58
Post #4





Grupa: Zarejestrowani
Postów: 476
Pomógł: 96
Dołączył: 10.04.2008
Skąd: Koszalin

Ostrzeżenie: (0%)
-----


Cytat(deniol13 @ 28.03.2011, 16:51:17 ) *
nie chodzi mi o to, jak za pomocą SQL zahashować tekst, tylko jak się połączyć z bazą używając hasha hasła, o ile się tak da


Nie da się zahashować hasła użytkownika mysql. Serwer SQL musi rozpoznać hasło, a jak by to miało wyglądać z zahashowanym hasłem?


--------------------
HTML/CSS/JS: jsfiddle
SQL: sqlfiddle
Go to the top of the page
+Quote Post
darko
post 28.03.2011, 16:48:07
Post #5





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


offtopic.gif
W praktyce sprawa wygląda w ten sposób, że jak masz hasło przysłane przez użytkownika, a hasła przechowujesz w postaci zahaszowanej w bazie (często też solone) to wyciągasz z bazy po podanym loginie do pary zahaszowane hasło, hasło oryginalne haszujesz (i solisz według takiego samego schematu jak to, w bazie) i porównujesz oba hasze, Jeśli są identyczne i tylko wtedy - użytkownik podał poprawne hasło, jeśli nie są - podane hasło jest nieprawidłowe.
//edit
Faktycznie, wybaczcie, zwiesiłem się :] Muszę w trybie pilnym odpocząć. specool.gif
</EOT>

Ten post edytował darko 28.03.2011, 16:58:21


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
Crozin
post 28.03.2011, 16:51:12
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


@darko: A Ty czytasz w ogóle czego dotyczy dany wątek? Jaki to ma niby związek z tematem?

Nie da się takiego hasła w żaden sposób "zataić". Zresztą jeżeli ktoś uzyska do niego dostęp to i tak będzie już w stanie zrobić właściwie wszystko...
Go to the top of the page
+Quote Post
vermis
post 28.03.2011, 18:59:11
Post #7





Grupa: Zarejestrowani
Postów: 279
Pomógł: 56
Dołączył: 3.06.2010
Skąd: Tarnowskie Góry

Ostrzeżenie: (0%)
-----


Cytat(deniol13 @ 28.03.2011, 15:16:50 ) *
-Czy da się aby hasło było w postaci hash'a np md5 i do połączenia podać go jako hash a serwer sql sam sobie sprawdzi zgodność hasha z pliku z hashem hasła bazy?


Nawet jakby dało się przesłać sam hash, to i tak nic nie da. Co za różnica czy przechwycisz hash czy hasło skoro jedno i drugie wystarczyłoby, żeby się zalogować.


--------------------
Go to the top of the page
+Quote Post
melkorm
post 28.03.2011, 19:11:02
Post #8





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Cytat
Nie da się takiego hasła w żaden sposób "zataić". Zresztą jeżeli ktoś uzyska do niego dostęp to i tak będzie już w stanie zrobić właściwie wszystko...


Blokada dostępu z zewnątrz + wyłączenie wszelkich PhpMyAdmin'owych tworów powinna skutecznie zabezpieczyć go nawet gdy ktoś posiada hasło do bazy.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.05.2025 - 09:15