Avatar billede petan Nybegynder
22. december 2004 - 20:26 Der er 6 kommentarer og
1 løsning

Kontrol og ændring af input via form

Hej

I forbindelse med en side, hvor folk kan tilmelde sig, og senere logge-ind, er jeg nødt til at lave noget kontrol med hvad folk taster i formen, for at undgå sql-injections og lign.

Mit spørgsmål er derfor:

1)Hvordan laver jeg en funktion der søger input igennem, og tjekker hvorvidt der er brugt ulovlige tegn som ><?'" (eller som tjekker om der er tastet andet end a-z og 0-9)?

2) Hvordan får jeg ovenstående funktion til at erstatte de ulovlige tegn med mellemrum, eller et eller andet tilfældigt der ikke kan skade mit system.

Har selv på fornemmelsen at det er noget med ereg() eller preg_match() der skal anvendes, men kan ikke helt gennemskue hvordan det klares...

På forhånd tak!
Avatar billede coderdk Praktikant
22. december 2004 - 20:28 #1
if ( !preg_match( "/^[a-zæøåÆØÅ]$/i", $input ) )
{
  echo "Du har indtastet ulovlige tegn!";
}

Når du indsætter i en database er det en god ide at køre det igennem mysql_escape_string (ikke nødvendigt i ovenstående eksempel, da ' her er et ulovligt tegn)...
Avatar billede coderdk Praktikant
22. december 2004 - 20:28 #2
if ( !preg_match( "/^[a-zæøåÆØÅ]$/i", $input ) )

skulle jo have været:

if ( !preg_match( "/^[a-zæøåÆØÅ]+$/i", $input ) )
Avatar billede coderdk Praktikant
22. december 2004 - 20:29 #3
eller med tal:

if ( !preg_match( "/^[a-z0-9æøåÆØÅ]+$/i", $input ) )
Avatar billede petan Nybegynder
22. december 2004 - 20:44 #4
ok, tak for det. Jeg giver point hvis du giver et svar.
Avatar billede petan Nybegynder
22. december 2004 - 21:09 #5
ups, glemte lige, hvordan tilføjer jeg så det er tilladt at bruge mellemrum i denne: if ( !preg_match( "/^[a-z0-9æøåÆØÅ]+$/i", $input ) )
Avatar billede coderdk Praktikant
22. december 2004 - 21:45 #6
Du smider bare et mellemrum i :)

if ( !preg_match( "/^[a-z0-9æøåÆØÅ ]+$/i", $input ) )
Avatar billede petan Nybegynder
22. december 2004 - 22:59 #7
klart nok... takker
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