Snackar du om det välkända ' fenomenet så är det bara att skriva så här:
Replace(sUserName, "'", "''")
5 svar · 291 visningar · startad av medialabs
Hej!
Jag håller just nu på som bäst och fixar med min kommande sajt.
Jag har ett par inloggnings rutor på main sidan där kunder ska kunna logga in med sina kundnummer, användarnamn,lösenord.
Hur ska jag kunna skydda detta på bästa sätt mot hackare och andra som vill förstöra. Finns det nått bra script som man kan includera i koden/inloggningen som tar bort alla asp taggar och sådant. jag hoppas att det finns nån som vet. Kanske en svensk artikle om detta??
MVH
OJJE
Snackar du om det välkända ' fenomenet så är det bara att skriva så här:
Replace(sUserName, "'", "''")
Finns det inga flera sådana scripts som spärrar alla tecken förutom vanliga bokstäver och siffror???
om du vill vara riktigt säker så kan du ju använda
HtmlEncode , men det e inte särskilt bra för då blir det en
massa extra tecken i databsafältet som du kanske inte räknat me
Nickemannen.. hur ser scriptet ut??
strString = Server.HtmlEncode(strString), detta tar bort alla <> tecken och erstätter dom så att de inte förstör koden.
Denna metod rekommenderar jag att du använder när du skriver ut texten från databasen inte när du lägger in den.
Men när du lägger in den så får du tänka på det som Juhlin pointerade
strString = Replace(strString,"'","''")
eftersom ' tecknet förstör inne i SQL-satsen så lättast så gör du en funktion av det
Function FixString(strString)
FixString = Replace(strString,"'","''")
End Function
Denna kod klistrar du in på den sidan som lägger in i databasen
så kan du skriva såhär när du skall ta emot variablerna från formuläret..
t.ex.
strText = FixString(Request.From("Text"))