Gå til innhold

Beste sted for oppbevaring av mysql passord i php


Anbefalte innlegg

Hei.

 

Når jeg har laget sider som bruker php og mysql, så har jeg alltid laget en egen fil (f.eks. settings.php) hvor jeg har skrevet passord, brukernavn og host til mysql-serveren jeg bruker, og bare inkluderer denne fila i scriptene som trenger den.

Er dette egentlig trygt, å lagre det sånn? Er det noen bedre steder å legge denne informasjonen så jeg kan hente den fram når jeg trenger det i scriptene mine?

 

Takker for evt. svar.

Lenke til kommentar
Videoannonse
Annonse

Hvis det er passord til MySQL ol. så kan du ikke krytere de, for da må du lagre selve passordet.

 

Svaret er nei, det er ikke trygt å lagre passordet på den måten. De fleste vet at variabler i et php script ikke vises, ved mindre man f.eks. echo'er de.

Denne filen vil i utgangspunktet ikke visen noen data:

<?php

$passord = "mitt-passord";

?>

 

Derfor er det mange som velger denne løsningen - MEN, som jeg sa over, det er ikke trygt og derfor heller ingen god løsning.

 

Problemet oppstår dersom PHP (Zend Engine) ikke fungerer riktig. Da vil serveren sende PHP scriptet i ren tekst til browseren. Du har økt sikkerheten litt, med tanke på at du ikke har passordet i samme fil, men de som kan litt programmering ser at du f.eks. har include("settings.php"); i starten av filen. Dersom PHP problemet fortsetter så kan denne brukeren enkelt åpne den filen i browseren og har da full tilgang til passordet ditt.

 

De som har vært med en stund vet at selv om det ikke skjer så veldig ofte at Zend engine kræsjer - så skjer det likevel av og til.

 

Du kan øke sikkerheten ganske lett på to forskjellige måte:

1. Plasser settings.php filen i en egen mappe som du beskytter med htaccess.

2. Endre rettighetene på filen, slik at ikke "other" har noen rettigheter til filen.

Lenke til kommentar

Takk for gode svar.

 

Loomy: Som "??????" sier så kan jeg ikke lagre passordet i kryptert form, pga. at når jeg skal koble til mysql-serveren så må jo den ha passordet i klartekst.

 

???????: du sier at det ikke er en god løsning, og det skjønner jeg etter jeg leste innlegget ditt. Men er det en annen bedre løsning som IKKE innebærer å lagre passordet i en php-fil?

Jeg kan jo såklart gjøre som du foreslo, å sette noen brukerrettigheter på fila, og det høres greit ut, men jeg er interessert i å vite hva jeg har av muligheter, hva som er sikrest og samtidig ikke er altfor tungvint å bruke når jeg skriver scriptene. Er dette den beste måten?

Lenke til kommentar

????????: og det er da Zend Encoder kommer reddende og fortsatt lar man lagre det på den måte siden filen da blir encoded?

 

Edit: Jeg mener, hvis PHP motoren ikke fungerer så vil vel heller ikke Zend Optimizer tas ibruk?

Endret av Ernie.
Lenke til kommentar

Zend Encoder er en god løsning for kryptering, men det er veldig få som har det så for de er en enkel løsning å følge et av tipsene mine.

 

Siden Zend Encoder koster ca. $960 så er dette ikke en enbefalt metode(det finnes billigere løsninger også) - heller ikke med tanke på at det er ofte en stor fordel at det er lett å oppdatere settings filer. Det kan hende man bytter mysql passord eller lignende, og det er det litt mye jobb å finne igjen orginalfilen for å endre den og laste den opp.

Lenke til kommentar

bare ett lite spørsmål, vil denne koden på noen måte sikre settings filen bedre?

 

if (eregi("navn_på_settings_filen.php",$_SERVER['PHP_SELF'])) {
   Header("Location: index.php");
   die();
}

 

Vet at den brukes på så og si alle filene i php nuke hvor filen bare blir inkludert.

Endret av LateFot
Lenke til kommentar

Tja... det hindrer kun siden fra å kjøre. Er det noe feil med Zend engine så vil det fortsatt kun vises som tekst. Fordelen med det scriptet er at det ikke er mulig å kjøre scriptet utenom index.php - men det beskytter ikke filen mot det du er på jakt etter her.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...