/ 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
hjælp til sql sætning
Fra : Kenneth Andersen


Dato : 06-08-01 15:44

sql = "SELECT * FROM tabel WHERE efternavn = envariabel"

Ovenstående kan jeg simpelthen ikke få til at virke. Hvordan skal jeg gøre
for at få den til at trække de data ud som er lig med min variabel.?

Kenneth




 
 
Jesper Stocholm (06-08-2001)
Kommentar
Fra : Jesper Stocholm


Dato : 06-08-01 15:50

"Kenneth Andersen" <kenneth_andersen@vip.cybercity.dk> wrote in
news:9kma66$28fn$1@news.cybercity.dk:

> sql = "SELECT * FROM tabel WHERE efternavn = envariabel"
>
> Ovenstående kan jeg simpelthen ikke få til at virke. Hvordan skal jeg
> gøre for at få den til at trække de data ud som er lig med min
> variabel.?
>

Grundlæggende gøres det således:

dim strSQL,strVariable
strSQL = "SELECT * FROM Table1 WHERE efternavn = " & strVariable

.... men der er (naturligvis) variationer

HVIS din variabel er et heltal:
strSQL = "SELECT * FROM Table1 WHERE efternavn = " & strVariable

HVIS din variabel er en streng:
strSQL = "SELECT * FROM Table1 WHERE efternavn = '" & strVariable & "'"

Så skulle det virke.

:)

--
Jesper Stocholm
http://stocholm.dk
ICQ: 13214885
MSN Messenger: jesperstocholm at hotmail dot com

Kenneth Andersen (08-08-2001)
Kommentar
Fra : Kenneth Andersen


Dato : 08-08-01 17:29

> ... men der er (naturligvis) variationer

Vil det sige at hvis man nu er i tvivl om hvilken værdi man får ind fra et
request, så skal man tjekke på det inden man kalder sit SQL statement.?

Kenneth




Jesper Stocholm (08-08-2001)
Kommentar
Fra : Jesper Stocholm


Dato : 08-08-01 17:39

"Kenneth Andersen" <kenneth_andersen@vip.cybercity.dk> wrote in
news:9krp6b$1evm$1@news.cybercity.dk:

>> ... men der er (naturligvis) variationer
>
> Vil det sige at hvis man nu er i tvivl om hvilken værdi man får ind fra
> et request, så skal man tjekke på det inden man kalder sit SQL
> statement.?
>

Ja ... hvis dit website tillader at der overføres data fra formularer
direkte til SQL-forespørgsler, så bør man _altid_ checke dem inden de
flettes ind i din SQL-sætning. Specielt hvis der foregår DELETE/UPDATE -
forespørgsler er det et MUST at checke det.

Et eksempel er (frit fra leveren) dette, hvor der tilbydes at man ændrer sit
password:

intUserId = request.form("userID")
strPassword = request.form("password")
strSQL = "UPDATE table SET password = '" & strPassword & "' WHERE userId =
" & intUserId

I den ideelle situation vil det give noget i retning af dette:

UPDATE table SET password = 'Tjullahej' WHERE userId = 4543252

Men hvis der nu i feltet gives dette fra brugeren:

"4543252 OR 1=1"

vil din SQL komme til at se således ud

UPDATE table SET password = 'Tjullahej' WHERE userId = 4543252 OR 1=1

.... hvilket vil skifte samtlige passwords ud med "Tjullahej"

Det kan godt være, at der er indsneget sig en fejl i ovenstående, men om
ikke andet kan det give en idé om, hvor galt man kan komme afsted. Prøv at
tænke på konsekvenserne hvis det var en DELETE-operation.

:(
--
Do you also think survailance has gone too far ?
http://www.salon.com/comics/tomo/2001/07/09/tomo/index.html

- Jesper Stocholm - http://Stocholm.dk

Ole Dalsgaard Jensen (08-08-2001)
Kommentar
Fra : Ole Dalsgaard Jensen


Dato : 08-08-01 21:37

Hej Kenneth

Sørg for at din variabel er i 'anførselstegn'
eks:
envariabel = "Jensen"
sql = "SELECT * FROM tabel WHERE efternavn = '" & envariabel & "'"

Med venlig hilsen

Ole Dalsgaard Jensen

mailto:ole.dalsgaard@mail1.stofanet.dk


Kenneth Andersen <kenneth_andersen@vip.cybercity.dk> skrev i en
nyhedsmeddelelse:9kma66$28fn$1@news.cybercity.dk...
> sql = "SELECT * FROM tabel WHERE efternavn = envariabel"
>
> Ovenstående kan jeg simpelthen ikke få til at virke. Hvordan skal jeg gøre
> for at få den til at trække de data ud som er lig med min variabel.?
>
> Kenneth
>
>
>



Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408857
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste