Toon posts:

[ASP/SQL] probleem met quote

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb in ASP een vrij eenvoudig SQL statement

"Select * from tblLocatie where plaatsnaam =" ' " & variabele & " ' "

Als in variabele bijvoorbeeld 's-gravenhage staat dan gaat mijn sql niet goed. Dat is niet zo gek want dat komt door de quote maar hoe los ik dat op? Heb al vanalles geprobeerd met quotes en dubbele quotes maar niet lukt tot op heden.

Heb het internet al afgezoech, vanalles over asp maar niet net mijn probleem. Ben er al een dag mee aan het stoeien maar kom er niet uit.

  • mrFoce
  • Registratie: Augustus 2004
  • Laatst online: 11-02 17:14
in php is daar de functie addslashes voor. Misschien is in ASP iets soortgelijks.
Probeer anders een textreplace van ' naar \'

  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 17:13

Gonadan

Admin Beeld & Geluid, Harde Waren
gideon82 schreef op dinsdag 20 juni 2006 @ 15:07:
in php is daar de functie addslashes voor. Misschien is in ASP iets soortgelijks.
Probeer anders een textreplace van ' naar \'
Ik dacht dat je in ASP twee enkele quotes moest doen, of een dubbele ipv een enkele.
Zal kijken of ik het nog kan vinden. :)

Look for the signal in your life, not the noise.

Canon R6 | RF 24-70 f/2.8 L | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Het blindelings doorgooien van variabelen uit een form naar een query is zeer onverstandig. Maak voor dit soort zaken gebruik van parametrized queries. Zoek anders eens op 'sql injection' dan begrijp je het misschien wel.

  • Cloud
  • Registratie: November 2001
  • Laatst online: 16:37

Cloud

FP ProMod

Ex-moderatie mobster

Zoek eens op google. Die heeft daar wel heel wat informatie over. Ookal geef ik toe dat je eventjes de term 'escape' moet kennen. Maar dat valt toch wel onder basiskennis.

Succes ermee :)

Never attribute to malice that which can be adequately explained by stupidity. - Robert J. Hanlon
60% of the time, it works all the time. - Brian Fantana


  • Rowdy.nl
  • Registratie: Juni 2003
  • Laatst online: 23-01 14:40

Rowdy.nl

Koekje d'r bij?

Dit werkt, maar is niet handig
code:
1
myString.Replace("'","''");


Gebruik gewoon Parameterized Queries. Lees anders dit topic eens door... ;)

[ Voor 30% gewijzigd door Rowdy.nl op 20-06-2006 15:12 . Reden: Extra url PQ ]

Rowdy.nl - X++ by day. C# by night. I drink coffee in the morning and beer in the evening.


Verwijderd

Topicstarter
Precies, escape was nog niet bij me opgekomen. Zal daar eens op gaan zoeken.

  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Nee, zoek op parametrized query, dat is de echte oplossing :)

edit: het parametriseren van je query voorkomt ook evt. problemen met datums, gebroken getallen en andere format-afhankelijke waarden.

[ Voor 51% gewijzigd door kenneth op 20-06-2006 15:24 ]

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • Cloud
  • Registratie: November 2001
  • Laatst online: 16:37

Cloud

FP ProMod

Ex-moderatie mobster

kenneth schreef op dinsdag 20 juni 2006 @ 15:24:
Nee, zoek op parametrized query, dat is de echte oplossing :)

edit: het parametriseren van je query voorkomt ook evt. problemen met datums, gebroken getallen en andere format-afhankelijke waarden.
Interessant leesvoer inderdaad. :) Toch kan het zeker geen kwaad om ook standaard escape technieken (sowieso eens nadenken over SQL injects etc.) te kennen, daar parametrized queries niet in elke taal even handig te maken zijn.

Never attribute to malice that which can be adequately explained by stupidity. - Robert J. Hanlon
60% of the time, it works all the time. - Brian Fantana


  • jmderonde
  • Registratie: December 2005
  • Laatst online: 13:29
Voordat je iets door iemand in je DB laat zetten, loop dit dan door op mogelijke html code en ook op verschillende quotes. het is heel makkelijk om een aantal van deze dingen te replacen en in de DB te plaatsen. bij het weergeven van de DB moet dit natuurlijk omgekeerd.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:49

gorgi_19

Kruimeltjes zijn weer op :9

jmderonde schreef op maandag 26 juni 2006 @ 11:18:
Voordat je iets door iemand in je DB laat zetten, loop dit dan door op mogelijke html code en ook op verschillende quotes. het is heel makkelijk om een aantal van deze dingen te replacen en in de DB te plaatsen. bij het weergeven van de DB moet dit natuurlijk omgekeerd.
Waarom moet dit omgekeerd? Waarom wil je HTMLEncoden voordat het de db in gaat en weer Decoden als het er uit gaat?

Opletten op XSS en SQL Injection moet toch voldoende zijn? :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • jmderonde
  • Registratie: December 2005
  • Laatst online: 13:29
gorgi_19 schreef op maandag 26 juni 2006 @ 13:49:
[...]

Waarom moet dit omgekeerd? Waarom wil je HTMLEncoden voordat het de db in gaat en weer Decoden als het er uit gaat?

Opletten op XSS en SQL Injection moet toch voldoende zijn? :)
Je wil toch niet dat er complete (ongecontroleerde ) HTML code in je DB staat?
er bestaat natuurlijk het gevaar dat je het op het verkeerde moment aanroept, en dat het dan meteen als html of javascript uitgevoerd word.

Niets is makkelijker dan om een aantal html tekens te vervangen, of om te zetten naar dubbele tekens.
En bij het aanroepen moet dit ook gereplaced worden.

  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Als je alleen bij het inserten of alleen bij het weergeven de &, < en > vervangt, ben je er toch?

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:49

gorgi_19

Kruimeltjes zijn weer op :9

jmderonde schreef op maandag 03 juli 2006 @ 12:27:
Je wil toch niet dat er complete (ongecontroleerde ) HTML code in je DB staat?
er bestaat natuurlijk het gevaar dat je het op het verkeerde moment aanroept, en dat het dan meteen als html of javascript uitgevoerd word.
Die fout kan je ook maken door het te vaak aan te roepen :) En 1 keer, op moment van presentatie of moment van invoer, is imho voldoende.

Sowieso is een HtmlDecode in ASP 3.0 lastiger :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1