On Fri, 30 Jan 2004 12:43:39 +0100, "pepss" <olefriis@privat.dk>
wrote:
>"Kim Noer" skrev
>
>> Jeg leder efter nogle helt grundlæggende begreber omkring validering af
>> input, der skal bruges til SQL tilgang. Det gælder både insert, update og
>> select. Hvilke ting skal man implementere, for at sikre sig at inputtet er
>> gyldigt?
>
>
http://asp-faq.dk/article/?id=95 er et godt sted
Ud over den, så handler det i virkeligheden mest om at tænke igennem,
hvilke scenarier, der kan give problemer - og så sørge for at fange
disse problemer, inden du kommer i nærheden af databasen.
- hvis det er et Id, er det oftest relevant at checke, at det er
numerisk
- nogle gange kan det give mening at checke, at en tekststreng er
over/under en vis længde (fx hvis db-feltet ikke tillader at indsætte
en tom streng ("nul-længde") - eller hvis det bare ikke giver mening
at have et efternavn på kun ét bogstav osv.)
- dato-input skal selvfølgelig kunne omsættes til et gyldigt
dato-format
- osv.
Endelig (og det har ikke så meget med databasen at gøre):
- hvis det er et input til en variabel, der skal styre sidens
afvikling (en "mode" plejer jeg at kalde det), så sørg for at alle
gyldige "modes" er defineret, og lav en fejlmelding, hvis input'et er
ikke-gyldigt.
Nogle gange må man selvfølgelig også nøgternt vurdere, *hvor stor*
skaden er ved at der er et ugyldigt input - man kan gøre meget eller
lidt mindre ud af at sikre sig.
Men min erfaring er, at det godt kan betale sig at gøre en del ud af
at sikre sig at input er så validt som muligt og lave fornuftige
fejlmeddelelser - ellers æder det sig op i problemer senere
(support-timer, sure brugere etc.).
Good luck!
--
Jørn Andersen,
Brønshøj