Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> bezpieczne hasla w plikach konfiguracyjnych
art
post 11.09.2006, 12:12:20
Post #1





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 31.08.2003

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


Witam!

Administrator pewnego serwera zwrocil mi uwage iż w moim skrypcie haslo sluzace do polaczenia z bazą danych mySQL znajdujące się w pliku config.inc.php nie jest zaszyfrowane i ze taka sytuacja jest niedopuszczalna...

tak więc mam plik config.inc.php a w nim przykładowo:
  1. <?php
  2. // server bazy danych z ktorym ma sie łączyć skrypt
  3. // (najczęsciej localhost)
  4. $db_hostname='localhost';
  5.  
  6. // nazwa bazy danych
  7. $db_name='nazwabazy';
  8.  
  9. // login do bazy danych
  10. $db_username='login';
  11.  
  12. // haslo do bazy danych
  13. $db_password='haslo123';
  14. ?>


Podobno zamiast 'haslo123' powinienem w to miejsce wstawic to haslo w formie zakodowanej tak aby osoba przegladajaca pliki na serwerze (np. admin lub 'włamywacz') tego hasla nie zobaczyli...

pierwszy raz sie z czyms takim spotykam i szczerze mowiać zgłupiałem... czy ktoś wie czy wogole coś takiego da sie zrobic ? jesli tak to w jaki sposob?
Go to the top of the page
+Quote Post
w3b
post 11.09.2006, 13:18:46
Post #2





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 11.09.2006

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


ja bym Ci radzil zrobic cos takiego

1. Tworzysz sobie plik conf.db, a w nim:
Kod
SetEnv USER "your user login"
SetEnv PASS "you password"

2. Ustawiasz chmod 600 conf.db
3. W pliku php includujesz ten pliczek np,;
  1. <?php
  2. include('includes/conf.db')
  3. ?>

4.i teraz robisz cos takiego:
  1. <?php
  2. $login = $_SERVER['USER'];
  3. $pass = $_SERVER['PASS'];
  4. ?>


i tez masz bezpiecznie smile.gifsmile.gifsmile.gif

Pozdrawiam
Go to the top of the page
+Quote Post
kszychu
post 11.09.2006, 13:35:16
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


Cytat(w3b @ 11.09.2006, 14:18:46 ) *
3. W pliku php includujesz ten pliczek np,;

i pupa zbita, bo apache nie ma prawa do odczytu tego pliku.
@art: nie jest to może najbezpieczniejsze, ale inaczej się nie da. Oczywiście możesz napisać funkcje kodującą i dekodującą i używać kodowanego hasła, ale jak ktoś obejrzy zawartość pliku konfiguracyjnego, to obejrzy też inne pliki i znajdzie funkcję dekodującą.
Zahaszować hasła niestety nie można.


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
w3b
post 11.09.2006, 13:43:54
Post #4





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 11.09.2006

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


Racja z rozpedu sie pomylilem zeby odwolac sie do $_SERVER['USER'], nalezy includowac ten plik w httpd.conf , zwracam honor
Go to the top of the page
+Quote Post
art
post 11.09.2006, 15:02:56
Post #5





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 31.08.2003

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


Cytat(kszychu @ 11.09.2006, 14:35:16 ) *
@art: nie jest to może najbezpieczniejsze, ale inaczej się nie da. Oczywiście możesz napisać funkcje kodującą i dekodującą i używać kodowanego hasła, ale jak ktoś obejrzy zawartość pliku konfiguracyjnego, to obejrzy też inne pliki i znajdzie funkcję dekodującą.
Zahaszować hasła niestety nie można.


Dzieki serdeczne... pisanie wlasnej fuknkcji do kodowania/dekodowania faktycznie sensu nie ma... ja ogolnie nie rozumie czemu administrator sie czepil z tego ci widzialem wiekszosc skryptow php przechowuje w ten sposb (w takim config.inc.php jak moj) haslo bez zadnego dodatkowego kodowania...

poradzil mi wygenerowanie hasla w md5 no ale przeciez nie ma funkcji dekodujacej md5 (bo musialbym za kazdym razem zakodowane haslo przed zadaniem zapytania bazie dekodować)

i tak sie zastanawiam czy jestem jakis głupi czy moze ktoś tu głupka ze mnie chce zrobic biggrin.gif...

czy takie przechowywanie hasla do bazy w pliku config.inc.php jest az tak niebezpieczne zeby robic wielki szum w tej sprawie?
Go to the top of the page
+Quote Post
kszychu
post 11.09.2006, 15:22:58
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


Cytat(art @ 11.09.2006, 16:02:56 ) *
poradzil mi wygenerowanie hasla w md5 no ale przeciez nie ma funkcji dekodujacej md5 (bo musialbym za kazdym razem zakodowane haslo przed zadaniem zapytania bazie dekodować)

i tak sie zastanawiam czy jestem jakis głupi czy moze ktoś tu głupka ze mnie chce zrobic biggrin.gif...

W tym przypadku to drugie, niestety. md5 jest algorytmem haszującym a nie kodującym i nie ma możliwości odtworzenia pierwotnego tekstu potraktowanego md5. I uprzedzam, proszę mnie nie łapać za słówka i nie pisać o kolizjach, nie mają one tutaj zastosowania.
Cytat(art @ 11.09.2006, 16:02:56 ) *
czy takie przechowywanie hasla do bazy w pliku config.inc.php jest az tak niebezpieczne zeby robic wielki szum w tej sprawie?

Ważne jest, by hasła były w pliku config.inc.php a nie w config.inc.innerozszerzenie. W tym pierwszym przypadku nawet jawne wywołanie tego pliku w przeglądarce skończy się zwróceniem przez apache pustej strony, w drugim zostałby zwrócony cały kod php.


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
art
post 11.09.2006, 15:33:16
Post #7





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 31.08.2003

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


No cóż dziekuje serdecznie za wyczerpujace wyjaśnienia, jako że nigdy nie zakładam z góry że wszystko wiem najlepiej, przed przystapieniem do polemiki z wspomnianym administratorem wolałem się upewnić co do słuszności moich przekonań w tym temacie ...
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: 19.07.2025 - 14:59