hallgeirl Skrevet 21. januar 2005 Del Skrevet 21. januar 2005 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
Loomy Skrevet 21. januar 2005 Del Skrevet 21. januar 2005 Så lenge du krypterer/hasher passordene (med f.eks md5) er det ganske trygt å lagre de i php-filer. Eneste måten å få passordet er da å laste ned filen via FTP og brute-force md5'en. Lenke til kommentar
???????? Skrevet 21. januar 2005 Del Skrevet 21. januar 2005 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
hallgeirl Skrevet 21. januar 2005 Forfatter Del Skrevet 21. januar 2005 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
Ernie Skrevet 21. januar 2005 Del Skrevet 21. januar 2005 (endret) ????????: 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 21. januar 2005 av Ernie. Lenke til kommentar
???????? Skrevet 21. januar 2005 Del Skrevet 21. januar 2005 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
LateFot Skrevet 21. januar 2005 Del Skrevet 21. januar 2005 (endret) 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 21. januar 2005 av LateFot Lenke til kommentar
???????? Skrevet 21. januar 2005 Del Skrevet 21. januar 2005 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå