Avatar billede simm Nybegynder
13. marts 2003 - 23:11 Der er 16 kommentarer og
1 løsning

PHP / SQL og sikkerhed

Hejsa,

Jeg vil gerne sikre mine databaser, så godt som muligt, så en bruger med forkerte hensigter ikke kan udvide mine SQL-query's

Har set Ad-slashes, meen..

Simon
Avatar billede simm Nybegynder
13. marts 2003 - 23:12 #1
øh....addslashes()
Avatar billede ztyxx Nybegynder
13. marts 2003 - 23:16 #2
addslashes() er ikke så tosset, så hvad mener du med meen :-)
Avatar billede basicq Nybegynder
13. marts 2003 - 23:18 #3
Hvad den her
$var = eregi_replace("("|')", "", $string);
Avatar billede bufferzone Praktikant
14. marts 2003 - 08:53 #4
Du bør gennemvalidere dine indtastningsfelter så det ikke kan lade sig gøre at indtaste f.eks. tekst der bliver opfattet som kode og andre ikke hensigtsmæssige ting
Avatar billede erikjacobsen Ekspert
14. marts 2003 - 09:26 #5
Ja og nej, bufferzone. Ja, hvis det er et felt med struktur,
fx et tal eller en dato. Så skal der checkes at det overholder
formatet - regulære udtryk er bare gode til det.

Nej, hvis det er et tekstfelt. Om brugeren nu har lyst til
at skrive sit navn som "drop database mysql" skal han have
lov til det - umiddelbart i hvert fald. Her er det eneste man
behøver, at bruge addslashes - man skal selv hvis PHP ikke gør
det for een.
Avatar billede simm Nybegynder
14. marts 2003 - 12:08 #6
Bufferzone: jeg har mere brug for konkrete eksempler - er først fornylig blevet bekendt med faren i forbindelse med SQL injection.. Men som ztyxx og erikjacobsen påpeger, så er addslashes måske nok i nogle tilfælde - og så må jeg bruge regex's i de felter, hvor der er tal
Avatar billede simm Nybegynder
14. marts 2003 - 12:12 #7
erikjacobsen: "Her er det eneste man
behøver, at bruge addslashes - man skal selv hvis PHP ikke gør
det for een."

Sker det pr. default at PHP smider slashes på selv i de nye versioner, eller hvor dan skal det forståes?
Avatar billede simm Nybegynder
14. marts 2003 - 12:12 #8
hvordan *even*
Avatar billede erikjacobsen Ekspert
14. marts 2003 - 14:18 #9
Det kommer an på indstillingen i php.ini - jeg kan ikke huske default.
Avatar billede simm Nybegynder
14. marts 2003 - 15:00 #10
okay, kigger :)
Avatar billede simm Nybegynder
14. marts 2003 - 15:11 #11
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off

I PHP <= 4.3.1 står disse pr. default til off. Hvis de står til on påfører de ekstra tegn til det på ens SQL-streng, ser det ud til...hmmm... så må jeg bruge addslashes
Avatar billede bufferzone Praktikant
14. marts 2003 - 18:59 #12
Der har lige været en artikel om SQL injection i PCworld eller Computerworld, jeg husker ikke præcist hvilken af dem det var, men der er eksempler på forskellige destruktive koder
Avatar billede erikjacobsen Ekspert
14. marts 2003 - 19:06 #13
Var der også en snvisning på hvordan man undgår dem ?
Avatar billede bufferzone Praktikant
18. marts 2003 - 18:00 #14
Prøv at downloade dette whitpaper, det omhandler bl SQL injection

http://www.spidynamics.com/mktg/sqlinjection33/
Avatar billede ztyxx Nybegynder
28. marts 2003 - 14:52 #15
lukketid??
Avatar billede simm Nybegynder
09. april 2003 - 18:51 #16
ja :)
Avatar billede simm Nybegynder
09. april 2003 - 18:51 #17
tak for hjælpen, gutter :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester