Du gör nu så här:
Kod:
Recordset1.Source = "SELECT * FROM vardschema WHERE VARDSCHEMA_ID=" & Request.Querystring("SCHEMA_ID")
...och det är livsfarligt att bara ta den parameter som (någon) har skrivit i url'en och skicka in i din sql sats.
Anta att din url är
www.xyz.se/sida.asp?VARDSCHEMA_ID=8376453
Om jag skriver in en sql sats, tex "0 or 1=1;DROP TABLE users--&apa=1" så blir det såhär
www.xyz.se/sida.asp?VARDSCHEMA_ID=0 or 1=1;DROP TABLE users--&apa=1
Din SQL som du kör nu blir således
Kod:
SELECT * FROM vardschema WHERE VARDSCHEMA_ID=0 or 1=1;DROP TABLE users--
Det är samma sak som att man kan logga in många oskyddade system genom att skriva texten
så man blir det första användaren i ett oskyddat system.
Jaja, nog om detta nu.
Validering sa du, japp, typ att du först requestar ett värde och tilldelar en variabel som du sedan kollar så att den är ok, typ
Kod:
dim sInput
sInput = Request.Querystring("VARDSCHEMA_ID") 'hämta värde
sInput = trim(sInput) ' ta bort alla "trailing spaces" som webläsaren/användaren kan ha pillat dit
sInput = replace(sInput, "'", ""e;") 'ersätter ' med "
Recordset1.Source = "SELECT * FROM vardschema WHERE VARDSCHEMA_ID=" & sInput
Nu skrev jag sInput valideringarna på olika rader för tydlighetens skull, och valideringarna i sig var bara exempel. Det du antagligen vill göra är att kolla så att ditt VARDSCHEMA_ID är numerisk, har en viss längd och uppfyller olika krav INNAN du kör den i din sql sats.