Tutorials

Veilig opslaan database wachtwoorden

Haal je database wachtwoord binnen met $_SERVER['db_pass']; ipv include('dbvars.php');

Pagina 1

Waarom deze tut?

Veel mensen slaan hun database wachtwoorden op in hun programma code, of in een speciale pagina die ze daarvoor hebben gemaakt. vb:

** dbvars.inc **
<?php
$db_user = "username";
$db_pass = "wachtwoord";
?>

Het nadeel hiervan is, helemaal als je meer beveiliginslekken in je website hebt, dat de onbevoegden deze pagina kunnen benaderen en op slimme wijze je wachtwoord kunnen achterhalen.

Daarnaast worden vaak meerdere pagina's gebruik om de wachtwoorden op te slaan (op iedere pagina waar het nodig is, of in iedere submap een dbvars.inc file).

Ik heb een veilige manier gevonden waarmee je je wachtwoorden niet meer in apparte 'dbvars.inc files' op hoeft te slaan, maar je ze gewoon binnen kan halen met $_SERVER['DB_PASS'];
Pagina 2

Hoe gaat het in z'n werk?

Maak een pagina aan (wachtwoorden.conf), en plaats deze in een map die alleen toegankelijk is door 'root' (dus niet nobody!).

/path/naar/veilige/map/wachtwoorden.conf

In dit bestand zet je de voglende regels:

SetEnv DB_USER "mijngebruikersnaam"
SetEnv DB_PASS "mijnwachtwoord"


Nu moet je in je httpd.conf je wachtwoorden.conf includen:
Include /path/naar/veilige/map/wachtwoorden.conf
Pagina 3

Slot

Na het opnieuw opstarten van de server is het mogelijk om overal in je scripts, je gebruikersnaam en wachtwoord terug te halen met:

$_SERVER['DB_USER']; en
$_SERVER['DB_PASS'];

Dit is niet te benaderen door mensen vanaf het web (wel een systeembeheerder, of andere mensen die toegang hebben tot de server files!).

Je moet er nu alleen wel op letten dat je deze variabelen niet weergeeft in je phpinfo() of iets dergelijks.

Reacties

0
Nog geen reacties.