Avatar billede Bjarne Novice
14. maj 2005 - 11:26 Der er 12 kommentarer og
1 løsning

Sikkerhed/login med php/mysql

Jeg er ved at opbygge noget login/community. Jeg kan sagtens få det til at virke, men jeg søger hjælp til hvordan det er smartest at lave det. Altså hvordan opnår man en tilfredstillende sikkerhed. Mindst resourcekrævende. Har læst om de smarte funktioner. Jeg synes, det er en jungle da der findes så mange af dem, som hjælper på alverdens ting. strip_tags(), addslashes()/stripslashes(), magic_quotes, md5(), password() osv. osv. 
Hvilke skal man bruge, hvor/hvordan? Der er ingen grund til at fylde på med unødvendige funktioner og kode. Alt input på denne problematik ses gerne. Erfaringer, links til guides, kodeeksempler.

Håber nogle kan hjælpe
Avatar billede oonofearoo Nybegynder
15. maj 2005 - 02:26 #1
personligt bruger jeg altid addSlashes inden jeg indsætter noget i en DB, og bruger så stripSlashes nå jeg tager det ud igen.

derudover bruger jeg md5 hashes til at encrypte passwords, og trim() til at sørge for der ikke bliver sat et mellem rum ' ' ind.

Har aldrig haft problemer med sikkerheden på mit site, men kan så ikke vide om jeg har været udsat for at hacket angreb.
Avatar billede Bjarne Novice
16. maj 2005 - 19:27 #2
ikke andre som har erfaringer
Avatar billede dugi Nybegynder
17. maj 2005 - 09:52 #3
jeg bruger bare md5() og det spiller 100%
Hvis jeg laver et community f.eks. bruger jeg også altid addslashes/stripslashes og trim som oonofearoo skriver :)
Avatar billede ksoren Nybegynder
17. maj 2005 - 10:03 #4
Hvis magic quotes er aktiveret (er vist standard i dag) vil det faktisk ødelægge submitted data bare at lave en addslashes()
Avatar billede ksoren Nybegynder
17. maj 2005 - 10:04 #5
Avatar billede Bjarne Novice
17. maj 2005 - 16:52 #6
Hvordan finder jeg ud af om magic quotes er aktiveret? Og hvad gør magic quotes?
Avatar billede ksoren Nybegynder
17. maj 2005 - 17:01 #7
Det er php som automatisk laver en addslashes(). http://docs.php.net/en/security.magicquotes.html

bruger submitter: peter's bil
php afleverer: peter\'s bil
addslashes: peter\\\'s bil
udtræk fra db med stripslashes: peter\'s
Avatar billede Bjarne Novice
18. maj 2005 - 14:52 #8
ok, men hvordan finder jeg ud af om magic quotes er aktiveret?
Avatar billede oonofearoo Nybegynder
18. maj 2005 - 16:05 #9
du kunne jo prøve at lave en add slash og så se om resultatet bliver: peter\\\'s bil
Avatar billede ksoren Nybegynder
18. maj 2005 - 16:33 #10
Avatar billede Bjarne Novice
18. maj 2005 - 18:08 #11
ok tak. Hvad er det trim() skal gøre godt for? Jeg ved den fjerne overskydende spaces, men hvad gør det sikkerhedsmæssigt gavn for?
Avatar billede oonofearoo Nybegynder
18. maj 2005 - 20:14 #12
jeg har lige brugt trim() til at sørge for der ikke blev søgt på mellemrum i min database.

f.eks:

$string = ' ';

if (!empty($string)) {
    foo($bar)
}

her vil $string ikke blev opfattet som tom og derfor vil der blive søgt på ' '
men hvis man der imod bruger:

$string = trim($string); bagefter så vil den ikke søge. Det er små ting som hjælper lidt med at validere data. Det er det vigtigste, at sørge for at den data som du sætter ind også er som den burde være.
Avatar billede Bjarne Novice
19. maj 2005 - 17:26 #13
Ok, dem som vil have point kan smide et svar. Tak for hjælpen
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