webForumDet fria alternativet

Replace singelquotes

16 svar · 438 visningar · startad av leniz

lenizMedlem sedan aug. 2001676 inlägg
#1

Hej!

Tänkte göra mina sidor lite säkrare genom att ersätta singelquotes tecken ' med nåt annat.

Jag skrev därför följande:
Session("losen")=Replace(Request.Form("losen"),"'","x")

Resultatet blir dock inte alls som jag vill, den byter inte alls ut fnuttar mot x.

Om jag däremot skriver t.ex
Session("losen")=Replace(Request.Form("losen"),"y","x").

Så fungerar det alldeles utmärkt. Vad kan det bero på? Någon teori?

@ndersMedlem sedan juni 200032 969 inlägg
#2

Jag förstår inte varför du vill ersätta med x. Ersätt med två likadana, ('' alltså) så har du försäkrat dig om att inget knas händer med databasfrågor och dylikt.

I övrigt är det inget fel på koden. Det enda jag kan tänka mig är att det inte finns några ' i request.form("losen")...

Mvh,

lenizMedlem sedan aug. 2001676 inlägg
#3

Jo jag har tagit replace till '' också men det blev x under tiden jag försökte få det att fungera. Men jag är helt säker på att det är ' i lösen eftersom jag själv testar genom att mata in det.
När jag skriver så där får jag ut ett felmeddelande med delar av min sql sträng som kommer efter de där raderna, och där är det tydligt att den inte bytt ut ' tecknet.

@ndersMedlem sedan juni 200032 969 inlägg
#4

Måste du lagra i sessions?

strLosen = Request.Form("losen")
strSQL = "Select * From Users Where UserName='Bengt' And Password = '" & Replace(strLosen, "'", "''") & "'"

Jag har inte varit med om att ett sådant funktionsanrop bara struntas i...

Mvh,

lenizMedlem sedan aug. 2001676 inlägg
#5

Hej!
Bytte ut sessions mot det du skrev (plus att jag la till samma saker för Anamn) men får fortfarande samma felmeddelande:
Syntaxfel (operator saknas) i frågeuttrycket 'Anamn = 'wer'wer' and Los ='erwrr''.

@ndersMedlem sedan juni 200032 969 inlägg
#6

Visa hela kodavsnittet.

lenizMedlem sedan aug. 2001676 inlägg
#7

if Request.Form("anamn") <> "" and Request.Form("los") <> "" then

strLosen = Request.Form("los")
stranv = Request.Form("anamn")

sql = "select * FROM Innehavare where Anvnamn = '" & Replace(stranv,"'","''") & "' and Losen ='" & Replace(strLosen,"'","''")& "'"

set rs = databas.Execute(sql)

@ndersMedlem sedan juni 200032 969 inlägg
#8

Jag kan inte alls förstå vad som blir fel, men när sådana här konstigheter sker, prova att starta om webtjänsten. Vad använder du för webbserver / OS?

@ndersMedlem sedan juni 200032 969 inlägg
#9

Förresten!

Det där ser ju inte ut att vara rätt SQL-fråga!
I felmeddelandet har fältnamnet Anamn använts, men i den SQL-fråga du visar här är det Anvnamn som används!

Kontrollera så du exekverar rätt SQL-fråga.

lenizMedlem sedan aug. 2001676 inlägg
#10

Jag testar den på min egen dator med PWS och Win98, men sen kommer den att ligga på en annan server....
Ska ta och starta om hela skiten o se om det blir nån förändring =)

lenizMedlem sedan aug. 2001676 inlägg
#11

Jo det är rätt sql fråga, bara jag som testar och har mig...

tohaMedlem sedan dec. 1999707 inlägg
#12

Det kan ju vara så att det inte finns några apostrofer i lösenordet, det kan vara lite svårt att se skillnad på apostrofer, akut accent och/eller "sneda enkla citattecken". Dvs:

´ - akut accent
' - apostrof
’ - höger enkelt citattecken

lenizMedlem sedan aug. 2001676 inlägg
#13

Hej!
Jo det kan hända men jag är helt säker på att det är apostrofer jag använt mig av.
Har fortfarande inte fått det hela att fungera så alla teorier är varmt välkomna!

tohaMedlem sedan dec. 1999707 inlägg
#14

Det är ju hellöjligt att det blir fel. Du menar alltså att om du kör följande vbscript-kod:

a = "'Hello'World'"
a = Replace(a, "'", "''")
Response.Write a

Så får du inte ut texten:

''Hello''World''

??? :o

lenizMedlem sedan aug. 2001676 inlägg
#15

Ja det är hellöjligt att det blir fel.
Som svar på din fråga, när jag bara skriver den där koden separat så fungerar det. Jag får nog försöka göra på nåt annat sätt på det stället.
Mvh Lena

@ndersMedlem sedan juni 200032 969 inlägg
#16

Hmm, det här är helt superknasigt!

Visa hela din kod på sidan där det inte fungerar, så får vi försöka lista ut om det är något som påverkar så det inte fungerar.

Mvh,

lenizMedlem sedan aug. 2001676 inlägg
#17

Hej igen!
Tack för erbjudandet! Men jag gav upp och delade upp koden på två sidor istället och då fungerar det =)

Mvh Lena

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)