Lösenord till databas i php-fil

Tråden skapades och har fått 2 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • 2006-10-18 21:28

I de flesta exempel med PHP och databaskoppling ser man något i stil med:

$objConn = mysql_connect ('127.0.0.1', 'user', 'password');

Det känns inte helt okey att lägga lösenordet till databasen i klartext även om det är en php-fil. Alla som har direkt tillgång till servern kan ju titta på filens innehåll. Och om konfigureringen av webservern strular kanske php-filens inte tolkas utan visas i klartext så att vem som helst kan läsa lösenordet i klartext i sin webläsare.

Någon som har något bra förslag på hur man få det hela lite säkrare?

/M

  • Medlem
  • Malmö
  • 2006-10-19 06:03

Citerat från PHP.net - mysql_connect:

rec0rder at lycos dot com
09-Apr-2002 08:54
The method I use to "protect" mySQL connect is to place dbConnect.php outside the web directory.

I will create a directory:
/var/include/

Put "dbConnect.php" into
/var/include/

Edit your php.ini file to read "/var/include/" an include directory.

In your PHP now, you just have to do:
require("dbConnect.php");

php.net är en underbar sida där det mesta php-relaterade finns besvarat.

Ursprungligen av arc:

I de flesta exempel med PHP och databaskoppling ser man något i stil med:

$objConn = mysql_connect ('127.0.0.1', 'user', 'password');

Det känns inte helt okey att lägga lösenordet till databasen i klartext även om det är en php-fil. Alla som har direkt tillgång till servern kan ju titta på filens innehåll. Och om konfigureringen av webservern strular kanske php-filens inte tolkas utan visas i klartext så att vem som helst kan läsa lösenordet i klartext i sin webläsare.

Någon som har något bra förslag på hur man få det hela lite säkrare?

/M

Lösningen är ju att helt enkelt inte ge någon tillgång till den mappen, man får styra över rättigheterna helt enkelt. En korrekt konfigurerad webbserver kommer varken att visa filen för fel person eller dess verkliga innehåll utan processande, oavsett om PHP kraschar eller inte.

Tekniken i inlägget före detta är också bra.

I Lasso (en konkurrent till PHP och tillika en kommersiell programvara som gör samma sak som PHP) så har man ett webbgränssnitt för admin i vilken man ställer in användarnamn och lösenord för databaser, tabeller och hela vägen ner på fältnivå och kan då enklare och flexiblare styra rättigheter. Lasso har en bättre rättighetshantering än PHP så behöver du flera möjligheter, undersök Lasso.

1
Bevaka tråden