Lurifaksen Skrevet 22. februar 2007 Del Skrevet 22. februar 2007 (endret) Hallo, Er det noen som har noen tips og råd til hvordan en kobler et nettsted til database på en sikkerhetsmessig god måte? Det finnes jo tonnevis av guider som viser hvordan du bruker f.eks. mysql med php - men de aller fleste nevner ikke noe som helst om sikkerhet (bortsett fra kontroll av user input). Jeg vil tro det ikke er en smart idé å la web-scriptene bruke en databasebruker som har full tilgang til DB'en f.eks - men jeg vil tippe a 90% av alle nybegynnere gjør det, siden guider ikke sier noe om dette. Så er det noen med erfaring innenfor dette som har lyst å gi meg noen tips og råd? Tenker mest på generelle råd, men jeg bruker hovedsaklig PHP sammen med MySQL og MS SQL. Eks: - Jeg er ikke helt komfortabel med å lagre user/pass i klartekst i scriptene. Er det mulig å unngå det? - Hvilke tilganger trenger normalt en database-bruker for bruk på web? - Bør jeg lage en bruker med kun SELECT-tilgang, og bruke denne i script som kun skal hente ut data, mens en annen bruker med kun INSERT-tilgang brukes i script som trenger det? Eller er dette litt unødvendig? Endret 22. februar 2007 av Lurifaksen Lenke til kommentar
Svish Skrevet 23. februar 2007 Del Skrevet 23. februar 2007 er ingen ekspert på dette, men tror et tips kan være å for eksempel la mysql serveren kun lytte på localhost. på denne måten kan man kun koble seg til den sånn fysisk fra den maskina den er på. noe som fungerer fint hvis webserveren ligger på samme maskina. å la user/pass ligge i php-filer tror jeg stort sett skal fungere fint. jeg pleier å la det ligge i en annen fil da, som jeg includerer eller require_once'er eller no sånt. i og med at igjennom webserveren så vil jo denne filen parses og gi en blank side så langt den ikke gjør noe. problemet er hvis noen får ftp-tilgang eller sånt så de kommer rundt webserveren... men ja.. det er tipsene jeg kan komme på å lage en bruker med kun select og en med kun insert kan sikkert være lurt på en måte, men hørtes særs stress ut.. spesielt hvis en gjør ting frem og tilbake i samme script, for da må en jo koble seg på med forskjellige brukere og av igjen osv osv. men en begrenset bruker som gjør kun det man trenger er sikkert kjekt. når det gjelder sikring av inputdata har jeg begynt å gjøre som de råder en i php manualen. bruke sprintf til å bygge opp sql-statementsene og bruke %u på det som skal være tall for eksempel. og på %s som er tekst, bruke mysql_real_escape_string() på dataene før de sendes inn. slå opp på den i php manualen.. Lenke til kommentar
roac Skrevet 23. februar 2007 Del Skrevet 23. februar 2007 Nå har jeg ikke brukt MSSQL i videre grad i sammen med PHP. Med SQL Server 2005 kan du blant annet bruke sertifikater til pålogging, det kan jo være interessant. Men å opprette to brukere til webscript for henholdsvis inserts/updates og selects, det ser jeg ingen grunn til å gjøre. 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å