Avatar billede johan.o Nybegynder
30. oktober 2005 - 12:37 Der er 7 kommentarer og
1 løsning

Forhindre (fjerne) farligt bruger input.

Jeg vil gerne forsøge at forhindre evt. uvenlige besøgende på mine sider fra at lave ubehagelige ting i bl.a. min database. Derfor vil jeg gerne høre om der er andre kombinationer eller principper jeg bør være opmærksom på end følgende :

Generelt checker og fjerner jeg altid ../ og ....// osv. fra alt bruger input.

Ved mySQL input vil strenge altid blive 'escaped' med mysql_real_escape_string()

Er der andet jeg bør være opmærksom på ?

Evt. henvisning til læsestof om emnet kunne være rart.

Mvh. Johan
Avatar billede jakobdo Ekspert
30. oktober 2005 - 12:41 #1
Måske du kan finde noget spændende på denne side: http://dev.mysql.com/tech-resources/articles/guide-to-php-security.html
Avatar billede johan.o Nybegynder
30. oktober 2005 - 14:04 #2
Super læsestof, mange tak.

Ang. de punkter han nævner under mysql_connect() problematiken med at en *.php fil med server, user, pwd definition er world readable og at man i nyere versioner af PHP (4.3.5 og nyere) kan 'gemme' disse i conf filen uden nogle kendte risikoer, vil jeg da gerne spørge om følgende :

Jeg har adgang til den conf fil han nævner på min egen server herhjemme, men har jeg også adgang til den på de webhoteller jeg bruger hos diverse udbydere ?

Mvh. Johan
Avatar billede jakobdo Ekspert
30. oktober 2005 - 14:14 #3
Jeg begyndte også lige at kigge teksten igennem og blev sgu hængende! (det var faktisk spændende læsning ja, og så fik jeg et par tricks med i bagagen) :o)

Dit spørgsmål med conf forstår jeg ikke lige, om du har adgang til den fra webhoteller?
Kan du forklare nærmere?
Avatar billede johan.o Nybegynder
30. oktober 2005 - 14:26 #4
Overskriften hedder 'Authentication data storage' og starter på side 80. Nederst på side 81 nævner han så httpd.conf filen. Denne fil kan jeg godt finde på min server herhjemme, men den server bruger jeg jo kun til at lave og teste mine sider på. De servere som siderne skal køre på når de er færdige ligger jo ude hos mine udbydere og så er jeg i tvivl om hvordan jeg skal få adgang til httpd.conf filen der. Jeg har selvfølgelig adgangs koder og så videre men kan ikke lige lokalisere filen.....det tror jeg heller ikke jeg skal kunne, men jeg vil lige være sikker før jeg evt. kontakter mine udbydere.

Mvh. Johan
Avatar billede jakobdo Ekspert
30. oktober 2005 - 14:30 #5
Ahh! :o)
Du skal nok ikke regne med du får lov at rette direkte i httpd.conf hos din udbyder nej!
Men måske du kan lave samme løsning med en: .htaccess fil.
Eneste måde du kan finde ud af det på, er ved at kontakte udbyder og spørge dem direkte, hvordan du kan få sat disse 3 værdier:

php_admin_value mysql.default_host “127.0.0.1”
php_admin_value mysql.default_user “login”
php_admin_value mysql.default_password “password”
Avatar billede jakobdo Ekspert
30. oktober 2005 - 14:31 #6
Og et svar!
Avatar billede johan.o Nybegynder
30. oktober 2005 - 16:08 #7
Og en accept :) endnu engang tak for det gode link.

Hvis der er andre der har ekstra input omkring diverse check af bruger input så skal i da ikke holde jer tilbage :), hvis point er et must så finder vi jo nok ud af det også.
Mvh. Johan
Avatar billede jakobdo Ekspert
30. oktober 2005 - 16:14 #8
Jeg takker for point!
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