Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] bezpieczeństwo przechowywania danych logowania do bazy
Forum PHP.pl > Forum > Przedszkole
emanuel
W różnych skryptach i przykładach wzorcowych widziałem trzy metody zapisu danych do logowania połączenia z bazą danych.
Pierwszą jest zdefiniowanie zmiennych

  1. $db_host = 'dbhostname';
  2. $db_user = ' nazwa_uzytkownika_bazy_danych;
  3. $db_pass = ' haslo_uzytkownika_bazy_danych ';
  4. $db_base = '147570_437';


Drugą jest zdefiniowanie stałych

  1. DEFINE('DBHOST','sql.serwer.nazwa.pl'); // --- serwer baz danych
  2. DEFINE('DBUSER','atl'); // --- konto użytkownika bazy danych
  3. DEFINE('DBPASS','2009'); // --- hasło do bazy
  4. DEFINE('DBNAME','atl'); // --- nazwa bazy danych


Trzecią jest zdefiniowanie elementów tablicy
  1. $db_dane["hostname"] = "twoj_serwer_sql";
  2. $db_dane["user"] = "nazwa_uzytkownika_bazy_danych";
  3. $db_dane["password"] = "haslo_uzytkownika_bazy_danych";
  4. $db_dane["db"] = "twoja_baza_danych";



Interesuje mnie bezpieczeństwo tych danych. Bezpieczeństwo rozumiane jako
- podmiana zdefiniowanych danych
- wykradzenie danych ze skryptu lub transmisji, a skutkiem tego przejęcie uprawnień do bazy.

Zasadniczo są trzy rodzaje baz:
- bazy z połączeniami typu localhost
- bazy z akceptacją połączeń tylko wewnątrz zespołu serwerowi (można zrealizować połączenie z innego konta hostingu[sql][/sql]).
- bazy z możliwością połączeń zewnętrznych poprzez adres publiczny.

Oczywistym jest że zdefiniowanie stałych zabezpiecza dokonaniu podmiany danych.
Jest jednak problem z wykradzeniem danych.
Czy są jeszcze jakieś inne propozycje bezpiecznego przechowania danych chroniących wrogie przejęcie?
tab
Jesli chodzi o mozliwosc odczytania danych to wszystkie sa tak samo na to narazone. Przy uzyciu stałych faktycznie nikt nie podmieni parametrów do bazy pytanie tylko po co ktos miałby to robić. Gdzies czytalem ze najbezpieczniejszym sposobem przechowywania danych do logowania do bazy jest trzymanie ich w plikach o niskich uprawieniach. Wtedy jesli skrypt sie posypie i wyswietli zawartosc to atakujacy nie zobaczy danych w przeciwienstwie do sytuacji kiedy byłyby zapisane w zmiennych
patrycjaBS
Tak jak napisał @tab wszystkie sposoby są identyczne pod względem bezpieczeństwa. Możesz jeszcze pliki konfiguracyjne trzymać poza katalogiem serwera www (czyli np. jeden katalog wyżej niż htdocs w Apache).
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.