webForumDet fria alternativet

Felaktig querystring...

ASP

5 svar · 265 visningar · startad av Harback

Medlem sedan juni 2001206 inlägg
Frågan#1

Hejsan.

Om man har en sida där man skickar med t.ex. ett id i en querystring via urlen för att sedan på sidan hämta info med det id:t från en databas, hur ska man bäst fixa så att det inte blir någon felsida ifall någon busig ändrar på querystringen till något annat ogiltigt värde?

Jag använder mig av Vides statistik där besökaren loggas i Session_Onstart. Jag har även ett inloggningssystem som jag helst vill använda Session.Abandon när man loggar ut men då plussas ju räknaren på när besökaren loggar ut. Går det att lösa på något sätt? Just nu tar jag bara bort de Sessionerna som jag använder för min login föra att detta inte ska ske.

Medlem sedan mars 20014 214 inlägg
#2

typ något sånt här?

'din sql fråga
SQL = "Select * From Tabell Where id = "&request.querystring("värde")&
'det måste finnas ett rs objekt eller så döper du om det
rs.open SQL,Conn
If rs.EOF then
   Response.write " Ej du, inte ändra sådär "
Else
'din hämtningskod
Medlem sedan juni 2001206 inlägg
#3

Det funkar ju inte ifall någon t.ex. tar bort querystringen. Då blir det ju fel i SQL-satsen och fel på sidan. Men det enda är väl att först kolla ifall querystringen innehåller något värde och är numeriskt och sen köra sql-satsen och kolla ifall den finns med i datbasen, eller?

Skojigt fel:

Syntaxfel (operator saknas) i frågeuttrycket 'fldForumID ='.
Medlem sedan mars 20014 214 inlägg
#4

Ja, kör bara en koll om det finns något i querstringen...

Medlem sedan mars 20002 836 inlägg
#5

kör kollen innan sql-frågan och spar querystringen i en variabel istället. Finns det inget i querystringen sätt värdet i variabeln till 0.
Typ:

'## -- checka om det finns ngn querystring --
intId = request.querystring("värde")
If Len(intId) = 0 Then intId = 0

'din sql fråga
SQL = "Select * From Tabell Where id = " & intId
'det måste finnas ett rs objekt eller så döper du om det
rs.open SQL,Conn
If rs.EOF then
   Response.write " Ej du, inte ändra sådär "
Else
'din hämtningskod

cya,
PatrikB

Medlem sedan juni 2001206 inlägg
#6

Okej! Tack för hjälpen.

315 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
137 ms — deklarationer (db)
0 ms — hämta statistik (cache)
162 ms — hämta tråd, inlägg och bilagor (db)
151 ms — ändringar (db)