Gå til innhold

Sikkerhet når det gjelder databaser.


Anbefalte innlegg

Skrevet

Hei.

Jeg bruker MySQL. Hvis jeg vil at mest mulig sikkert script. Hvilke ting før jeg huske på når det gjelder PHP og MySQL? Ting jeg må huske på, passe på etc.

Takk!

Videoannonse
Annonse
Gjest Slettet+6132
Skrevet

Atte det var HVA?

Beklager, men jeg forstår ikke helt norsken din.

 

Hvis jeg forstår deg rett vil du vite hvilke sikkerhetsforetak du kan ta når du bruker PHP og MySQL? For det første kan du da passe på å ha et sikkert passord på databasen, samt ikke lagre configurasjonen i en fil som vil kunne oppfattes som vanlig tekst i en browser. (Lagre som config.php, config.inc.php etc.)

 

Annet enn det er det vel ikke så mye sikkerhet å tenke på annet enn hvis du har flere brukere på serveren som du ikke kan stole 100% på, da må du gjøre slik som jeg har på min at du legger alt som har med web/php/sql til egen bruker og endrer leserettigheter osv. slik at KUN den brukeren har tilgang.

Skrevet

Sorry, jeg må ha somla litt når jeg skrev. Beklager.

Vel, når jeg scripter, da har jeg hørt at jeg må passe på "magic_quotes_gpc" ett-eller annet ol. Det får jeg til. Men er det fler ting i kodinga jeg burde passe på? Jeg vil ikke at folk skal klare å ødelegge alt.

Takk. :)

Skrevet (endret)
Sorry, jeg må ha somla litt når jeg skrev. Beklager.

Vel, når jeg scripter, da har jeg hørt at jeg må passe på "magic_quotes_gpc" ett-eller annet ol. Det får jeg til. Men er det fler ting i kodinga jeg burde passe på? Jeg vil ikke at folk skal klare å ødelegge alt.

Takk. :)

Vel, om du skal ha for eksempel en gjestebok så er det lurt å "strippe" alle stygge taggs.

 

Det gjør du slik:

strip_tags($gjestebok);   //Fjerner HTML fra innlegget.

Endret av Mellet
Skrevet (endret)

Hva som er farlig med {}, og [] må jeg nesten bare vite.

Uansett så kan du heller bruke htmlspecialchars()-funksjonen i stedet for masse str_replaces.

For alt annet som ikke skal sperre html burde du bruke mysql_real_escape_string(), eller mysql_escape_string hvis du bruker noe lavere enn php4.3.0.

Mange bruker også addslashes i stedet for mysql_real_escape_string, forøvrig har jeg fått inntrykket av at mysql_real_escape_string sjekker mot mysql hva som trenger å escapes, for å escape det.

mysql_real_escape_string() calls MySQL's library function mysql_real_escape_string, which prepends backslashes to the following characters: \x00, \n, \r, \, ', " and \x1a.

 

edit: for å sikre deg litt ekstra kan det være kjekt å legge config-filer med brukernavn og passord og andre private ting ett hakk opp fra roten. slik at du inkluderer med

include("../config.php");

Dette gjør at configen ikke er tilgjengelig via en web-browser.

Endret av LoS
Skrevet
lagre config filen i en mappe som bruker .htaccess til og passord beskytte. litt extra sikkerhet.

...eller legge fila i en mappe man ikke kan se via nettleser (rull opp og les)

 

Hvordan er det med magic quotes og % ? Litt kjipt om man kan sende en spørring til databasen med kun %...

Skrevet

magic_quotes escaper ikkje % vist eg husker rett; men uansett bør du ikkje være avhengig av magic_quotes, bare bruk ein kode til å "reverse engineer" magic_quotes vist dei er enabled og bruk mysql_escape_string eller mysql_real_esape_string

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...