---
title: "Hela databasen raderades?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/103344-hela-databasen-raderades"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "clacke"
published: "2004-05-11T06:20:44.000Z"
updated: "2004-05-13T13:57:57.000Z"
replies: 14
views: 575
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/103344-hela-databasen-raderades"
---

# Hela databasen raderades?

## #1 — clacke, 2004-05-11T06:20Z

Igår fick jag hela databasen raderad när en kund skulle skriva ut en sida, då blev det något fel och den började skriva ut en massa sidor och efter det säger han att all info var raderad i databasen, och det var det och därtill så var alla uppladdade bilder i en mapp raderad också. Jag förstår inte hur detta kunna hänt! 
Jag har en sida som listar alla inläggen i databasen och där har jag även en raderar länk, vid klick på länken så kommer man till nedan sida, kan någon se om det är något fel på sidan som skulle kunna ha raderat allt?
Tack på förhand!

```
<%
	response.buffer=true

	dim conn,rs,sql,strConn,id,name,delete,Mappnamn,Mapp,Mappkoll,onpage
	dim img1, img2, img3, img4, img5, marke,Uploader

	'*****************hämtar id:et från delete länken*******************''
		id=request.querystring("id")
		delete=request.querystring("del")
		img1=request.querystring("img1")
		img2=request.querystring("img2")
		img3=request.querystring("img3")
		img4=request.querystring("img4")
		img5=request.querystring("img5")
		marke=request.querystring("marke")
		
	'********raderar länken********
	sql="Delete FROM bilar WHERE upload_id="& request.querystring("id") &";"	
	set rs=conn.execute(sql)
	
		
   	'**kollar om bilderna ligger på servern och deletar dom vid klick på delete länken på upload_links.asp***************
	MappNamn = "images"
	Set Mappkoll = Server.CreateObject("Scripting.FileSystemObject")
	Set Mapp = Mappkoll.GetFolder(Server.MapPath(MappNamn))
	
	'If Request.QueryString("del") = "delete" Then
	If MappKoll.FileExists(Server.MapPath(MappNamn) & "\" & img1) Then 'OR MappKoll.FileExists(Server.MapPath(MappNamn) & "\" & Uploader.Form("existing2")) OR MappKoll.FileExists(Server.MapPath(MappNamn) & "\" & Uploader.Form("existing3")) OR MappKoll.FileExists(Server.MapPath(MappNamn) & "\" & Uploader.Form("existing4")) OR MappKoll.FileExists(Server.MapPath(MappNamn) & "\" & Uploader.Form("existing5")) Then
			
			MappKoll.DeleteFile(Server.MapPath(MappNamn) & "\" & img1)
			 'MappKoll.FileExists(Server.MapPath(MappNamn) & "\" & Uploader.Form("existing2"))
			'MappKoll.DeleteFile(Server.MapPath(MappNamn) & "\" & Uploader.Form("existing2"))
			 'MappKoll.FileExists(Server.MapPath(MappNamn) & "\" & Uploader.Form("existing3")) 
			'MappKoll.DeleteFile(Server.MapPath(MappNamn) & "\" & Uploader.Form("existing3"))
			 'MappKoll.FileExists(Server.MapPath(MappNamn) & "\" & Uploader.Form("existing4")) 
			'MappKoll.DeleteFile(Server.MapPath(MappNamn) & "\" & Uploader.Form("existing4"))
			 'MappKoll.FileExists(Server.MapPath(MappNamn) & "\" & Uploader.Form("existing5")) 
			'MappKoll.DeleteFile(Server.MapPath(MappNamn) & "\" & Uploader.Form("existing5"))
			
			
			
			'Set Mapp = Nothing
			'Set Mappkoll = Nothing
		End If
		
		MappNamn = "images"
		Set Mappkoll = Server.CreateObject("Scripting.FileSystemObject")
		Set Mapp = Mappkoll.GetFolder(Server.MapPath(MappNamn))
		If MappKoll.FileExists(Server.MapPath(MappNamn) & "\" & img2) Then
			MappKoll.DeleteFile(Server.MapPath(MappNamn) & "\" & img2)		
			'Set Mapp = Nothing
			'Set Mappkoll = Nothing
		End If
				MappNamn = "images"
		Set Mappkoll = Server.CreateObject("Scripting.FileSystemObject")
		Set Mapp = Mappkoll.GetFolder(Server.MapPath(MappNamn))
		If MappKoll.FileExists(Server.MapPath(MappNamn) & "\" & img3) Then
			MappKoll.DeleteFile(Server.MapPath(MappNamn) & "\" & img3)		
			'Set Mapp = Nothing
			'Set Mappkoll = Nothing
		End If
				If MappKoll.FileExists(Server.MapPath(MappNamn) & "\" & img4) Then
			MappKoll.DeleteFile(Server.MapPath(MappNamn) & "\" & img4)		
			'Set Mapp = Nothing
			'Set Mappkoll = Nothing
		End If
				If MappKoll.FileExists(Server.MapPath(MappNamn) & "\" & img5) Then
			MappKoll.DeleteFile(Server.MapPath(MappNamn) & "\" & img5)		
			Set Mapp = Nothing
			Set Mappkoll = Nothing
		End If

	'End If  
	
	response.redirect("links.asp")
	
%>
```

Permalänk: https://www.webforum.nu/p/103344

## #2 — Rikard, 2004-05-11T07:12Z

SQL injections?

Permalänk: https://www.webforum.nu/p/1344257

## #3 — cyprys, 2004-05-11T08:22Z

Det enda som behövde stå i request.querystring("id") var t.ex. 0 OR 1 = 1 för att radera alla poster.

Utgå från att all indata du kan få är skadlig.

Permalänk: https://www.webforum.nu/p/1344285

## #4 — clacke, 2004-05-11T11:22Z

Cyprys...förstår inte riktigt vad du menar?
Hur kan 0 OR 1=1 radera alla poster, jag säger ju att det ska raderas där upload_id="& request.querystring("id") hur kan det radera annat än det den får från querystringen?
Hur åtgärdar jag problemet?

Permalänk: https://www.webforum.nu/p/1344356

## #5 — UlfT, 2004-05-11T11:30Z

> **clacke skrev:**
>
> Cyprys...förstår inte riktigt vad du menar?
> Hur kan 0 OR 1=1 radera alla poster, jag säger ju att det ska raderas där upload_id="& request.querystring("id") hur kan det radera annat än det den får från querystringen?
> Hur åtgärdar jag problemet?

Tänk dig att du kör sql-satsen: 

```
delete from table where id=0 or 1=1
```

Var stämmer detta villkor? Jo, det stämmer dels där id=0, men även där 1=1, dvs överallt. Vips! Hela tabellen raderad!

Permalänk: https://www.webforum.nu/p/1344360

## #6 — clacke, 2004-05-11T11:35Z

Ok, jag är med på det, men hur kommer han fram till att
id=0 or 1=1 då?
Måste jag köra en if sats först då och kolla om querystringen har ett värde?

Permalänk: https://www.webforum.nu/p/1344364

## #7 — UlfT, 2004-05-11T11:43Z

> **clacke skrev:**
>
> Ok, jag är med på det, men hur kommer han fram till att
> id=0 or 1=1 då?

Han har helt enkelt chansat på att sql injection funkar på din site, eller så har det gått fel någon annanstans, så att en destruktiv sql-kod har kommit.

> **clacke skrev:**
>
> Måste jag köra en if sats först då och kolla om querystringen har ett värde?

Du måste kolla att query-stringen har endast ett numeriskt värde.

Permalänk: https://www.webforum.nu/p/1344368

## #8 — clacke, 2004-05-11T11:52Z

Ok får väl försöka kolla det, men vad är "sql injection" ?

Permalänk: https://www.webforum.nu/p/1344373

## #9 — UlfT, 2004-05-11T11:56Z

> **clacke skrev:**
>
> Ok får väl försöka kolla det, men vad är "sql injection" ?

Det handlar om att man "injicerar" sql-kod i sql-satser som redan används. På så vis kan man få sql-satserna att utföra oväntade resultat. I ditt fall, kan det alltså vara sql-villkoret *"0 or 1=1"* som har injicerats till din sats.

Permalänk: https://www.webforum.nu/p/1344375

## #10 — clacke, 2004-05-11T12:04Z

Ok, Har kollat lite här men hur kollar jag om querystringen är
ett tal?

Permalänk: https://www.webforum.nu/p/1344378

## #11 — UlfT, 2004-05-11T12:16Z

I ditt fall borde det räcka med:

IsNumeric(request.querystring("id"))

Om detta stämmer, att hela strängen verkligen är numerisk, då vet du att den endast innehåller ett enda id-nummer, och således kan endast en post raderas. Då kan du köra din delete-sats.

Permalänk: https://www.webforum.nu/p/1344382

## #12 — mrblonde, 2004-05-11T12:23Z

```
if isnumeric(request.querystring("id")) then
     do stuff
else
     error!
end if
```

Permalänk: https://www.webforum.nu/p/1344385

## #13 — clacke, 2004-05-11T12:28Z

Tack så mycket, då får jag kolla det lite senare!
Måste ut en sväng.

Permalänk: https://www.webforum.nu/p/1344388

## #14 — Bosse168, 2004-05-13T13:48Z

isnumeric(request.querystring("id")) kan man använda det direkt i en SQL sats? Använder MySQL 4.0.18-nt.

Permalänk: https://www.webforum.nu/p/1345534

## #15 — Peeer, 2004-05-13T13:57Z

Nej, du måste göra en kontroll före du exekverar sql-satsen.

Permalänk: https://www.webforum.nu/p/1345541

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/103344-hela-databasen-raderades
