webForumDet fria alternativet

Hackad hemsida

29 svar · 3 693 visningar · startad av snowcat · sida 2 av 2

jmeMedlem sedan maj 20012 237 inlägg
#21

Bättre är nog att skydda SQL-frågorna med s.k. bound parameters. Se mer på http://blogs.technet.com/b/neilcar/archive/2008/05/21/sql-injection-mitigation-using-parameterized-queries.aspx

Detta ger skydd på ett mer övergripande sätt. T ex din kod skyddar bara då du med säkerhet vet att värdet skall vara ett heltal. Om du har nånstans i koden en SQL-fråga som inkluderara text-värden från användaren så fungerar inte samma skydd.

snowcatMedlem sedan feb. 2007220 inlägg
#22

ok då är jag på rätt väg.
Det jag gör nu är att försöka få bort liknande felmeddelanden:

Microsoft OLE DB Provider for ODBC Drivers error '80040e09'
[MySQL][ODBC 3.51 Driver][mysqld-5.0.45-log]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1

Vilket dyker upp när man skriver ett ' efter följande länk:
http://historiesajten.se/krigsinfo.asp?id=5
Alltså gömma dessa fula meddelanden. Har suttit hela dagen nu och försökt hitta hur man gör. Men det går trögt minst sagt. :-(

måste väl bli något med att om man skriver in ett ' så redirect kanske, eller något liknande..? Svårt det här!

jme= jag har bara heltal, inga användare kan heller skriva i något. Min sida är bara en sida där man läser, inte aktivt gör något.

jmeMedlem sedan maj 20012 237 inlägg
#23

Jag har tyvärr ingen erfarenhet av classic asp så jag kan inte hjälpa dig där mer än vad farbror google säger :)

Jag gissar på att man kan stänga av visningen av felmeddelanden med att konfigurera antingen i ditt projekt eller i IIS (webb-servern).

Hittar du det så se dock till att du har tillgång till dessa felmeddelanden! :)

Inte är det bra heller att du missar all fel och får det ännu svårare att fixa dem.

noshorninMedlem sedan aug. 2008816 inlägg
#24

Om du använder koden du skrev ovan borde du inte få det där felmeddelandet. Om någon skriver 1' så kommer du hämta id=1 jue :O

snowcatMedlem sedan feb. 2007220 inlägg
#25

testade några sidor där jag har
http://www.historiesajten.se/gravplats.asp?bokstav=H
och sätter man ett ' efter där blir det fel.

snowcatMedlem sedan feb. 2007220 inlägg
#26

nån som har någon idé om hur man gör följande till att gälla bokstäver istället?

qid = Request.QueryString("id")
If IsNumeric(qid)= false then
qid = 1
End If

Står helt still och har sökt halva dagen efter svaret..
Så om man har typ .asp?bokstav=M att det inte blir fel om man skriver
.asp?bokstav=M'

voigtann1Medlem sedan juni 20019 519 inlägg
#27

jag hade gjort ett regex test för att se att Request.QueryString("bokstav") är en bokstav endast och bara a-zåäö:

Function isCharacter(value)
	Dim r : Set r = New RegExp
	r.Global = True
	r.Pattern = "^[a-zåäö]$"
	isCharacter = r.test(value)
	set r = Nothing
End Function

Och kollat:

If isCharacter(Request.QueryString("bokstav") & "") = False Then
snowcatMedlem sedan feb. 2007220 inlägg
#28

Åhh jättetack! Skall försöka få in det på rätt ställe :)

ChaanMedlem sedan aug. 2008114 inlägg
#29

snowcat skrev:

lösenordet till ftp menar du? Har inget annat lösenord?

Ja.. Det du använder..

OveRRidEMedlem sedan feb. 200112 078 inlägg
#30

Kolla på webbservern också (om det är en IIS, vilket det förmodligen är) så att inte PUT är tillåtet på webbsajten.

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