/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Logind system.
Fra : Christian Kragh


Dato : 21-02-06 18:11

Hej.

Jeg har igennem længere tid haft et logind system som virker som
det skal.

Nu er jeg dog igang med at redesigne min side og ønsker derfor at
gå fra simpel replace af de mest almindelige tegn for at undgå
indjection af mine SQL strenge når brugeren logger ind, således
at det kun er bestemte tegn som er tilladt.

Til dette formål har jeg tænkt på at bruge RegExp men jeg kan
ikke lige dreje hvordan jeg skal lave en funktion i dette hvor
jeg bestemmer hvilke tegn som er tilladt.

Det jeg ønsker er at alle tegn fra a-z og 0-9 er tilladte.

Er der nogle som kan give mig et fingerpej om hvordan jeg løser
dette, eller et sted hvor man kan lærer mere om RegExp?

Christian

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jens Gyldenkærne Cla~ (21-02-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 21-02-06 20:10

Christian Kragh skrev:

> Nu er jeg dog igang med at redesigne min side og ønsker derfor at
> gå fra simpel replace af de mest almindelige tegn for at undgå
> indjection af mine SQL strenge når brugeren logger ind, således
> at det kun er bestemte tegn som er tilladt.

Hvis du escaper korrekt (erstatter ' med ''), skulle det sådan set
være nok.


> Til dette formål har jeg tænkt på at bruge RegExp

[snip]

> Det jeg ønsker er at alle tegn fra a-z og 0-9 er tilladte.

Mønster til at finde de nævnte tegn:

    [a-z0-9]

Mønster til at finde alt andet end de nævnte tegn (find forbudte
tegn)

    [^a-z0-9]

> Er der nogle som kan give mig et fingerpej om hvordan jeg løser
> dette, eller et sted hvor man kan lærer mere om RegExp?

Siden <http://www.regular-expressions.info/> er guld værd mht.
regex. Vedr. regex i asp/vbscript kan du se sektionen her:
<http://www.regular-expressions.info/vbscript.html>.

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Torben Brandt (22-02-2006)
Kommentar
Fra : Torben Brandt


Dato : 22-02-06 00:59

Jens GyldenkærneClausen skrev:
> Christian Kragh skrev:
>
> > Nu er jeg dog igang med at redesigne min side og ønsker derfor at
> > gå fra simpel replace af de mest almindelige tegn for at undgå
> > indjection af mine SQL strenge når brugeren logger ind, således
> > at det kun er bestemte tegn som er tilladt.
>
> Hvis du escaper korrekt (erstatter ' med ''), skulle det sådan set
> være nok.

Ahh, pas lige på her... Du mener måske det rigtige, men det er kun nok
at erstatte ' med '' hvis det er tekst-felter vi snakker om!

Eksempel:
Hvis man udtrækker en artikel ud af idnummer:
SELECT artikel FROM Artikler WHERE id = [id]
hvis [id] er et nummer, der fx tages fra querystring, så duer det ikke
hvis [id] indeholder
-1 UNION SELECT kodeord FROM Bruger WHERE id = 1

Det kunne lede til at i stedet for at udtrække artiklen, så skrev den
kodeordet for den første bruger (administrator?) på siden.

Eller hvis man benytter en mere avanceret database end Access, så
ville denne her heller ikke være god:
-1; DROP TABLE Brugere

Så hvis det er et numerisk felt, så bør man undersøge om værdien også
er numerisk inden den puttes ind, osv osv for forskellige
situationer...

mvh Torben

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (22-02-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 22-02-06 09:56

Torben Brandt skrev:

> Ahh, pas lige på her... Du mener måske det rigtige, men det er
> kun nok at erstatte ' med '' hvis det er tekst-felter vi
> snakker om!

Du har helt ret - jeg burde have nævnt at der skal tages andre
hensyn ved numeriske felter.

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177496
Tips : 31968
Nyheder : 719565
Indlæg : 6408491
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste