Avatar billede petan Nybegynder
04. juni 2005 - 20:01 Der er 10 kommentarer og
1 løsning

Uskadeliggøre input fra form

Hej

Jeg har en form som indeholder et texarea-feldt som besøgende kan indtaste data i, som skal gemmes i databasen. Jeg har brugt funktionen strip_tags for at undgå at der kan laves html og php tags, men jeg er vel også nødt til at sørge for at der ikke laves tegn som ' og ". Hvordan gør jeg det med preg_replace, for det er vel den funktion jeg skal bruge? Er der andre tegn jeg skal sørge for at fjerne, og kan jeg evt. erstatte dem med nogen som senere kan "oversættes" igen, så tegnene i sidste ende bliver udskrevet?

Er der andet jeg bør være opmærksom på når jeg gemmer input (som senere skal udskrives) fra en bruger via en form?

På forhånd tak!

/Petan
Avatar billede u6e96b22 Nybegynder
04. juni 2005 - 20:04 #1
du kan jo lave et text script med Text kommandoen, den ignorer alle andre php og html scripts i feltet
Avatar billede petan Nybegynder
04. juni 2005 - 20:09 #2
u6e96b22-> vil du prøve at uddybe det lidt, for jeg forstår ikke helt hvad du mener.
Avatar billede u6e96b22 Nybegynder
04. juni 2005 - 20:14 #3
der er et script der hedder Text som du kan bruge til at lave input textareas med
Avatar billede kring Nybegynder
04. juni 2005 - 20:22 #4
Jeg vil anbefale dig at bruge addslashes().

Du kan læse mere om den her: http://dk2.php.net/manual/da/function.addslashes.php
Avatar billede u6e96b22 Nybegynder
04. juni 2005 - 20:25 #5
det kunne man jo også
Avatar billede kring Nybegynder
04. juni 2005 - 20:28 #6
En anden løsning er at bruge følgende:

/******************************************************************************
*DESCRIPTION:     Removes "bad" characters from SQL query string.
*INPUT:        String containing a query.
*OUTPUT:    Returns a safe SQL query string.
******************************************************************************/
function DBEscapeString($__string)
{
    return mysql_real_escape_string(stripslashes($__string), DBConnect());
}
Avatar billede petan Nybegynder
04. juni 2005 - 20:32 #7
Kring -> addslashes ligner det jeg er ude efter, men når jeg senere skal udskrive indholdet fra databasen, hvordan fjerner jeg så de "/" der er blevet tilføjet?
Avatar billede kring Nybegynder
04. juni 2005 - 20:34 #8
Avatar billede petan Nybegynder
04. juni 2005 - 20:39 #9
nåh ja - klart!
Tak for hjælpen. Point går til King, hvis du smider et svar.

Også tak til u6e96b22, men det var ikke lige det jeg ledte efter.
Avatar billede kring Nybegynder
04. juni 2005 - 20:48 #10
Det var så lidt :)
Avatar billede sukos Juniormester
04. juni 2005 - 21:00 #11
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