Tjenare Syftar du på när du gör en fråga till databasen så ett ' tecken kan ställa till problem? Tjena Kan hända, har faktiskt inte hunnit testa RegularExpressionValidator än så jag vet inte, men om den inte gör det är ju huvudregeln att allting ska valideras innan man gör något anrop till databasen... Syfta mer på att man hämtar data från databasen, bearbetar den eller sätter ihop med annan data som man sedan sätter in i databasen igen, inte presentera som HTML... Använd paramtriserade SQL frågor så behöver du inte bekymra dig om ' då den fixar det till dig. Att ersätta ' med " är en fungerande lösning men om du har en applikation som är public mot omvärlden där internationella bedsökare är tänkbara så är det inte en bra lösning. Dataparametrar tar hand om detta och skyddar mot sk SQL-injection. Läs mera i min artikel här på Pellesoft om dataparametrar: Tack ska ni ha för svaren. Hej igen Jag hade iofs med Javascript hindrat att ' skrivs in i textboxen överhuvudtaget. Men då gick det väl ändå att klistra in text som hade ' i sig? Patrik, Hej,Ang validering
Vad är vettigaste sättet att skriva på om man vill få bort skadliga tecken som ex ', vid ex en inloggning.
Jag är fullt medveten om att man kan använda asp:RegularExpressionValidator, men dock inte fullt så införstådd med hur man skall skriva om man exempelvis vill ha bort tecken ', och alla andra skadliga tecken.
Någon som kan komma med lite tips?
Ha det
PatrikSv: Ang validering
Databasen kan ju ta emot ' tecken men du måste ersätta tecknet med '' (två appostrofer)
Om du däremot vill förbjuda sådana tecken helt kan du använda asp:RegularExpressionValidator men ett mönster som hittar tecknen...
Även på serversidan kan du göra en kontroll, vilket man ska göra för att undvika SQL-injection...
Enklast är nog att använda InStr("strängen", "texten") som retunerar mer än ett om texten existerar i strängen...
Mer avancerat kan man använda Regular Expressions...
Mvh,
ThomasSv: Ang validering
RegularExpressionValidator fixar väl serversidan också ?
Har för mig att jag testade det där, satte in felaktiga värden innan post:en skickades.
/JohanSv: Ang validering
Även sånt som man hämtat från databasen måste valideras, annars kan det komma in ' tecken därifrån också...
Mvh,
ThomasSv: Ang validering
Mvh,
ThomasSv: Ang validering
Givetvis snackar jag om namn (för- och efternamn) där ' mycket möjligt kan ingå. För andra fält där det inte finns någon vits att mata in ett ' skall du givetvis använda ett Regular Expression för att filtrera, det gäller även på för- och efternamn där t.ex siffror inte bör kunna matas in.
En parametriserad fråga är när du använda <b>Parameter</b> objekt med ditt query. Du kan titta i dokumentationen för mer information om hur de fungerar.
Hoppas detta hjälper!Sv: Ang validering
http://www.pellesoft.se/area/articles/article.aspx?artid=815
mvh
HerbjörnSv: Ang validering
Jag skall kolla in din artikel, tycker den verkar mycket bra.Sv: Ang validering
Jag har testat och det verkar funka fint.
Men, hur gör man detta om man vill använda en MySQL databas och ODBC?
Håller förvisso på att testa mig fram, kanske kommer på hur snart, men jag ställer frågan ändå. Det kan ju alltid finnas olika bra lösningar.
Ha det
PatrikSv: Ang validering
I onKeyDown eventet kolla event.KeyCode och om en är ' returnera false.
sen naturligtvis också ha kontrollen i koden
"All user input is evil"Sv: Ang validering
Kanske du var beredd på det också? ;)
Mvh,
ThomasSv: Ang validering
Preventing SQL Injection Attacks
http://www.wwwcoder.com/main/parentid/258/site/2966/68/default.aspxSv: Ang validering
Alla .NET DataProviders har sin egen version av DataParameter, t.ex. SqlDataParameter, och alla hanterar '-problemet
mvh
Herbjörn