---
title: "Söka med '"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/154096-söka-med/page2"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Lorelie"
published: "2006-11-23T12:29:16.000Z"
updated: "2006-11-26T20:19:16.000Z"
replies: 40
views: 1433
page: 2
pages: 3
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/asp/154096-söka-med"
---

# Söka med '

_Sida 2 av 3._

## #21 — Peter S, 2006-11-23T16:21Z

Sedan känns det som att några villkor är onödiga

```
SQL = 	"SELECT 	namn,	" & _
	"hast_id,		" & _
	"bild_url		" & _
	"FROM 	hast 	" & _
	"WHERE 		kon = '"& SafeSQL(Request.Form("kon")) &"' 	      " & _
	"AND 		namn  like  '" & SafeSQL(Request.Form("hast"))&"%'  " & _
	"AND 		ras      =	   'Connemara'		       " & _
	"ORDER BY 	namn				        "
```

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

## #22 — voigtann1, 2006-11-23T16:23Z

Som peter S skriver... känns som dom andra "villkoren" är onödiga.. varför är E och U och &nbsp; i villkoren?

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

## #23 — Lorelie, 2006-11-23T16:32Z

> **voigtann1 skrev:**
>
> Som peter S skriver... känns som dom andra "villkoren" är onödiga.. varför är E och U och &nbsp; i villkoren?

e och u ska man inte kunna söka på, och inte heller &nbsp;, därför är de med
e och u är själva botten i en stamtavla, dvs där det inte finns mer. 

<http://www.aramennoc.se/hast.asp?hast_id=4854>
Där det är - är det e eller u 

Har olika söksidor för olika saker. Just denna sidan vi fixat till nu är för att söka på svenska connemaraponnyer, så igentligen är Ras \<\>/okänd/Övrig onödigt att ha med, eftersom man bara får med de som har rasen "Connemara". Det är med bara för att jag kopierat sidan 8 gånger och bara ändrat det som ska ändras för att få olika sökvilkor på olika sidor. 
Krångligt, javisst, men jag har inte kommit på något bättre sätt =S 
(<https://www.aramennoc.se> \-\> Databasen, prova gärna och se om ni förstår vad man ska göra osv, det är lätt att bli hemmablind)

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

## #24 — voigtann1, 2006-11-23T16:37Z

du kan ju:

```
'Sök strängen måste vara längre än 2 eller mer tecken långt...
if len(request.form("hast") >= 2 Then
....all SQL och presentation av datan..
else
response.write "Ditt sökord måste vara längre än 2 tecken långt"
end if
```

 ... eller kör med det du har nu.. ;)

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

## #25 — Lorelie, 2006-11-23T16:42Z

> **voigtann1 skrev:**
>
> du kan ju:
>
>
> ```
> 'Sök strängen måste vara längre än 2 eller mer tecken långt...
> if len(request.form("hast") >= 2 Then
> ....all SQL och presentation av datan..
> else
> response.write "Ditt sökord måste vara längre än 2 tecken långt"
> end if
> ```
>
>  ... eller kör med det du har nu.. ;)

Bad idea :p  jag söker ofta på alltihop, dvs skriver inget i rutan så får man upp hela listan.

Har funderingar på att göra en avancerad sökfunktion, dvs man ska kunna söka på de flesta fälten i databasen. Men det får bli en annan gång...

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

## #26 — emission, 2006-11-23T18:30Z

Kom ihåg att använda SafeSQL på alla textvärden som kommer in i frågan, även Request.Form("kon")

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

## #27 — Lorelie, 2006-11-23T19:08Z

> **emission skrev:**
>
> Kom ihåg att använda SafeSQL på alla textvärden som kommer in i frågan, även Request.Form("kon")

Behövs det verkligen? "kon" är inget man skriver, man väljer med radioknappar Hingst, Sto eller Valack

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

## #28 — Peter S, 2006-11-23T19:48Z

Det är ändå möjligt att manipulera de värdena.

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

## #29 — voigtann1, 2006-11-23T20:41Z

Som Peter skriver, det är möjligt.... jag kan ju exempelvis skapa en inputbox på en sida som skickas till din med en SQL injection hack på kon ... så skyddar dig.. på så mycket du kan.

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

## #30 — emission, 2006-11-23T22:16Z

> **Lorelie skrev:**
>
> Behövs det verkligen? "kon" är inget man skriver, man väljer med radioknappar Hingst, Sto eller Valack

SafeSQLs huvudsakliga syfte är inte att göra så att sökningen fungerar med ' , utan att skydda din databas från att förstöras av illvilliga människor. Sök på "SQL injection", för exempel.

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

## #31 — Lorelie, 2006-11-25T09:48Z

Nu har jag stött på  problem på en annan sida, ett formulär där man ska kunna lägga in hästar på hemsidan, även där behöver jag kunna skriva ', har gjort likadant som på söksidan jag fått hjälp med här, men det fungerar inte

```

Function SafeSQL(strText)
    SafeSQL = Replace(Replace(strText, "\", "\\"), "'", "''")
End Function

...

sql = "insert into hast (namn, kon, reg_nr, stamboks_nr, ras, fodd, dod, farg, tecken, mankh, pappa, mamma, uppf, utlstbnr, inskickad_av, inskickad_av_mail, hemsida, ovrigt, diplom_ar, diplompoang, elit_ar, prem, prem_poang,utlatande, imp, exp, bild_url) values [B]('" & request.form("namn") [/B] & "','" & SafeSQL(request.form("kon"), "'", "''") & "','" & SafeSQL(request.form("reg_nr"), "'", "''") & "', '" & SafeSQL(request.form("stamboks_nr"), "'", "''") & "' ,  '" & SafeSQL(request.form("ras"), "'", "''") & "' ,'" & SafeSQL(request.form("fodd"), "'", "''") & "','" & SafeSQL(request.form("dod"), "'", "''") & "' ,'" & SafeSQL(request.form("farg"), "'", "''") & "','" & SafeSQL(request.form("tecken"), "'", "''") & "' ,'" & SafeSQL(request.form("mankh"), "'", "''") & "' ,'" & SafeSQL(request.form("pappa"), "'", "''") & "' ,'" & SafeSQL(request.form("mamma"), "'", "''") & "' ,'" & SafeSQL(request.form("uppf"), "'", "''") & "' ,'" & SafeSQL(request.form("utlstbnr"), "'", "''") & "', '" & SafeSQL(request.form("inskickad_av"), "'", "''") & "', '" & SafeSQL(request.form("inskickad_av_mail"), "'", "''") & "', '" & SafeSQL(request.form("hemsida"), "'", "''") & "',  '" & SafeSQL(request.form("ovrigt"), "'", "''") & "',  '" & SafeSQL(request.form("diplom_ar"), "'", "''") & "' ,  '" & SafeSQL(request.form("diplompoang"), "'", "''") & "'  ,  '" & SafeSQL(request.form("elit_ar"), "'", "''") & "' ,  '" & SafeSQL(request.form("prem"), "'", "''") & "' ,  '" & SafeSQL(request.form("prem_poang"), "'", "''") & "' ,  '" & SafeSQL(request.form("utlatande"), "'", "''") & "' ,  '" & SafeSQL(request.form("imp"), "'", "''") & "' ,  '" & SafeSQL(request.form("exp"), "'", "''") & "',  '" & SafeSQL(request.form("bild_url"), "'", "''") & "')"
```

 

Där jag skrivit med fet stil vet jag inte hur jag ska få in SafeSQL, har försökt göra likadant som på de andra, dvs lägga till parantes och "', där det finns på de andra, men det fungerar inte. 

Får felmeddelandet
Wrong number of arguments or invalid property assignment: 'SafeSQL'
/laggtill.asp, line 37

(både när jag har SafeSQL på namn och inte)

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

## #32 — Lorelie, 2006-11-25T09:51Z

> **emission skrev:**
>
> SafeSQLs huvudsakliga syfte är inte att göra så att sökningen fungerar med ' , utan att skydda din databas från att förstöras av illvilliga människor. Sök på "SQL injection", för exempel.

```

"WHERE 	kon = 	   '"& SafeSQL(Request.Form("kon")) &"' 	    " & _
"AND 	namn  like  '" & SafeSQL(Request.Form("hast"))&"%' 	 " & _
```

 
Är det bara de två som behöver ha SafeSQL?
<http://www.aramennoc.se/sok.htm> Så ser sidan där man söker ut

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

## #33 — voigtann1, 2006-11-25T09:56Z

jepp

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

## #34 — Lorelie, 2006-11-25T10:34Z

> **voigtann1 skrev:**
>
> jepp

Vad tror du om min andra fråga då?

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

## #35 — voigtann1, 2006-11-26T13:06Z

SafeSQL är en funktion... där du vill använda den skriver du SafeSQL framför de värde du vill "göra" om till en säker SQL sträng.
Lite Exemplen:

```
dim aString
aString ="He's here" ' Denna sträng MÅSTE vi göra om!
aString = SafeSQL(aString) ' Nu har vi kört SQLSafe på aString och skrivit den nya strängen till variablen aString igen.

dim RequestString
RequestString = request.Form("mm") 'mm innehåller från en post strängen "My mother's Father" dvs vi måste göra om strängen så att den passar in så att vi kan lägga in den i SQL:en

RequestString = safeSQL(request.form("mm"))

'Eller i en SQL fråga:
SQL = "INSERT INTO users (username) values ('" & safeSQL(request.form("mm")) & "')"
```

Dvs ALLA värden som kan ändras på något sätt är en risk, den risken kan du säkra lite bättre med om du vet hur du ska säkra dom. Sök på SQLInjection på google och läs om databas säkerhet.

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

## #36 — voigtann1, 2006-11-26T13:12Z

i Din Insert fråga tänker du fel. Din safeSQL funktion kan bara innehålla 1 sträng sen fixar den strängen.
dvs:

```
safeSQL(request.form(".."),"'","''")
```

 är fel
medans

```
safeSQL(request.form(".."))
```

 är rätt.

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

## #37 — Lorelie, 2006-11-26T17:59Z

> **voigtann1 skrev:**
>
> i Din Insert fråga tänker du fel. Din safeSQL funktion kan bara innehålla 1 sträng sen fixar den strängen.
> dvs:
>
>
> ```
> safeSQL(request.form(".."),"'","''")
> ```
>
>  är fel
> medans
>
>
> ```
> safeSQL(request.form(".."))
> ```
>
>  är rätt.

När jag la in det så får jag felmeddelandet

"Wrong number of arguments or invalid property assignment: 'SafeSQL'"

Felet sitter här står det:

```

sql = "insert into hast (namn, kon, reg_nr, stamboks_nr, ras, fodd, dod, farg, tecken, mankh, pappa, mamma, uppf, utlstbnr, inskickad_av, inskickad_av_mail, hemsida, ovrigt, diplom_ar, diplompoang, elit_ar, prem, prem_poang,utlatande, imp, exp, bild_url) values ('" & request.form("namn") & "','" & SafeSQL(request.form("kon"), "'", "''") & "','" & SafeSQL(request.form("reg_nr"), "'", "''") & "', '" & SafeSQL(request.form("stamboks_nr"), "'", "''") & "' ,  '" & SafeSQL(request.form("ras"), "'", "''") & "' ,'" & SafeSQL(request.form("fodd"), "'", "''") & "','" & SafeSQL(request.form("dod"), "'", "''") & "' ,'" & SafeSQL(request.form("farg"), "'", "''") & "','" & SafeSQL(request.form("tecken"), "'", "''") & "' ,'" & SafeSQL(request.form("mankh"), "'", "''") & "' ,'" & SafeSQL(request.form("pappa"), "'", "''") & "' ,'" & SafeSQL(request.form("mamma"), "'", "''") & "' ,'" & SafeSQL(request.form("uppf"), "'", "''") & "' ,'" & SafeSQL(request.form("utlstbnr"), "'", "''") & "', '" & SafeSQL(request.form("inskickad_av"), "'", "''") & "', '" & SafeSQL(request.form("inskickad_av_mail"), "'", "''") & "', '" & SafeSQL(request.form("hemsida"), "'", "''") & "',  '" & SafeSQL(request.form("ovrigt"), "'", "''") & "',  '" & SafeSQL(request.form("diplom_ar"), "'", "''") & "' ,  '" & SafeSQL(request.form("diplompoang"), "'", "''") & "'  ,  '" & SafeSQL(request.form("elit_ar"), "'", "''") & "' ,  '" & SafeSQL(request.form("prem"), "'", "''") & "' ,  '" & SafeSQL(request.form("prem_poang"), "'", "''") & "' ,  '" & SafeSQL(request.form("utlatande"), "'", "''") & "' ,  '" & SafeSQL(request.form("imp"), "'", "''") & "' ,  '" & SafeSQL(request.form("exp"), "'", "''") & "',  '" & SafeSQL(request.form("bild_url"), "'", "''") & "')"
```

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

## #38 — voigtann1, 2006-11-26T19:18Z

Du har fortfarande inte ändrat om dina värden...

```
sql = "insert into hast (namn, kon, reg_nr, stamboks_nr, ras, fodd, dod, farg, tecken, mankh, pappa, mamma, uppf, utlstbnr, inskickad_av, inskickad_av_mail, hemsida, ovrigt, diplom_ar, diplompoang, elit_ar, prem, prem_poang,utlatande, imp, exp, bild_url) values ('" & SafeSQL(request.form("namn"))  & "','" & SafeSQL(request.form("kon")) & "','" & SafeSQL(request.form("reg_nr")) & "', '" & SafeSQL(request.form("stamboks_nr")) & "' ,  '" & SafeSQL(request.form("ras")) & "' ,'" & SafeSQL(request.form("fodd")) & "','" & SafeSQL(request.form("dod")) & "' ,'" & SafeSQL(request.form("farg")) & "','" & SafeSQL(request.form("tecken")) & "' ,'" & SafeSQL(request.form("mankh")) & "' ,'" & SafeSQL(request.form("pappa")) & "' ,'" & SafeSQL(request.form("mamma")) & "' ,'" & SafeSQL(request.form("uppf")) & "' ,'" & SafeSQL(request.form("utlstbnr")) & "', '" & SafeSQL(request.form("inskickad_av")) & "', '" & SafeSQL(request.form("inskickad_av_mail")) & "', '" & SafeSQL(request.form("hemsida")) & "',  '" & SafeSQL(request.form("ovrigt")) & "',  '" & SafeSQL(request.form("diplom_ar")) & "' ,  '" & SafeSQL(request.form("diplompoang")) & "'  ,  '" & SafeSQL(request.form("elit_ar")) & "' ,  '" & SafeSQL(request.form("prem")) & "' ,  '" & SafeSQL(request.form("prem_poang")) & "' ,  '" & SafeSQL(request.form("utlatande")) & "' ,  '" & SafeSQL(request.form("imp")) & "' ,  '" & SafeSQL(request.form("exp")) & "',  '" & SafeSQL(request.form("bild_url")) & "')"
```

... du kan inte skrive exempelvis: safeSQL(...,"'","'''")...

Du blandar ihop Replace och din egna funktion..

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

## #39 — Lorelie, 2006-11-26T19:34Z

> **voigtann1 skrev:**
>
> Du har fortfarande inte ändrat om dina värden...
>
>
> ```
> sql = "insert into hast (namn, kon, reg_nr, stamboks_nr, ras, fodd, dod, farg, tecken, mankh, pappa, mamma, uppf, utlstbnr, inskickad_av, inskickad_av_mail, hemsida, ovrigt, diplom_ar, diplompoang, elit_ar, prem, prem_poang,utlatande, imp, exp, bild_url) values ('" & SafeSQL(request.form("namn"))  & "','" & SafeSQL(request.form("kon")) & "','" & SafeSQL(request.form("reg_nr")) & "', '" & SafeSQL(request.form("stamboks_nr")) & "' ,  '" & SafeSQL(request.form("ras")) & "' ,'" & SafeSQL(request.form("fodd")) & "','" & SafeSQL(request.form("dod")) & "' ,'" & SafeSQL(request.form("farg")) & "','" & SafeSQL(request.form("tecken")) & "' ,'" & SafeSQL(request.form("mankh")) & "' ,'" & SafeSQL(request.form("pappa")) & "' ,'" & SafeSQL(request.form("mamma")) & "' ,'" & SafeSQL(request.form("uppf")) & "' ,'" & SafeSQL(request.form("utlstbnr")) & "', '" & SafeSQL(request.form("inskickad_av")) & "', '" & SafeSQL(request.form("inskickad_av_mail")) & "', '" & SafeSQL(request.form("hemsida")) & "',  '" & SafeSQL(request.form("ovrigt")) & "',  '" & SafeSQL(request.form("diplom_ar")) & "' ,  '" & SafeSQL(request.form("diplompoang")) & "'  ,  '" & SafeSQL(request.form("elit_ar")) & "' ,  '" & SafeSQL(request.form("prem")) & "' ,  '" & SafeSQL(request.form("prem_poang")) & "' ,  '" & SafeSQL(request.form("utlatande")) & "' ,  '" & SafeSQL(request.form("imp")) & "' ,  '" & SafeSQL(request.form("exp")) & "',  '" & SafeSQL(request.form("bild_url")) & "')"
> ```
>
> ... du kan inte skrive exempelvis: safeSQL(...,"'","'''")...
> 
> Du blandar ihop Replace och din egna funktion..

Men vad ska jag skriva då?  Ska det se ut såhär? '"& SafeSQL(Request.Form("kon")) &"'

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

## #40 — voigtann1, 2006-11-26T20:11Z

ja

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/154096-söka-med/page2  
Föregående sida: https://www.webforum.nu/amne/asp/154096-söka-med.md  
Nästa sida: https://www.webforum.nu/amne/asp/154096-söka-med/page3.md
