Fungerar detta?
Set Url=Conn.Execute("Select * From Url Where kat=" & Request.QueryString("catId") & " ORDER BY nr")
Du verkar ha glömt fnuttarna runt ORDER BY nr samt &-tecknet
11 svar · 360 visningar · startad av Mira
Hur ska jag lägga in "order by" på rätt sätt?
Kan inte sånt här, så jag bara testade, men det godkänns inte...
Set Url=Conn.Execute("Select * From Url Where kat=" & Request.QueryString("catId") ORDER BY nr)
Fungerar detta?
Set Url=Conn.Execute("Select * From Url Where kat=" & Request.QueryString("catId") & " ORDER BY nr")
Du verkar ha glömt fnuttarna runt ORDER BY nr samt &-tecknet
Lite OT:
Jag gissar på att Request är ett http Request objekt.
Man bör aldrig placera text i en sql-sats utan att först kontrollera dess innehåll. Det finns en risk för en s k "sql injection" attack varvid en illsinnad person kan ange egna sql-satser som sedan exekveras - farligt.
Sök efter sql injection här på wf för mer info.
Jag är glad om jag får fnuttarna på rätt plats, så det du skriver om jme får bli i ett annat liv.
Vad innebär "farligt"?
Mira skrev:
Vad innebär "farligt"?
Att någon med enkelhet kan läsa ut hemlig information (t.ex. lösenord) från din databas, eller radera all information.
Ok.
I detta fall inte så farligt, eftersom det är ett personligt arkiv.
Klart tråkigt om dom raderar en massa, men jag skulle bli förvånad om nån får för sej att leka med just min lilla hemsida.
Tack för info iaf.
.....Men!
Är det så svårt att skriva:
Replace(Request.querystring("catId"), "'", "''")
.....och på så sätt förbättra säkerheten avsevärt?
Mvh
Henrik
Om det finns nåt som heter PreparedStatement så bör man använda dessa.
devotion skrev:
.....och på så sätt förbättra säkerheten avsevärt?
Om du menar som detta:
Function Fixa(str)
Fixa = Replace(Trim(str),"'","''")
End function
...så är det isf redan fixat.
Men HUR skulle jag kunna veta att det var just sån kod som behövdes???
Sökte på det som föreslogs, men såg bara en drös med kod som jag inte förstod - inte var det så lite kod där iaf.
Har dock inte sett var funktionen används, så jag vet inte om det funkar som det ska - vart den ska kopplas, osv...
Där har du ju en fin funktion du kan använda!
Function Fixa(str)
Fixa = Replace(Trim(str),"'","''")
End function
Och sedan det du vill skydda:
Fixa(Request.querystring("catId"))
Mer läsning:
http://www.webforum.nu/showthread.php?s=&postid=1037886#post1037886
mvh
Henrik
devotion: Det där hjälper ju inte ett dugg. Eftersom att det är ett numeriskt värde så behöver man inte använda ' för att hoppa ut ur strängen för att blanda sig i SQLen.
Ahhh! Blir så less på folk med noll koll som kommer med uttalanden om hur man ska göra för att göra applikationen säker...