Jag har en liten funktion som är tänkt att städa upp i texter som matas in via ett adminscript. Dels ska den göra alla "konstiga" tecken html-encodade och dels ska den förhindra att neklelcitationstecken matas in. Antar att den bara ersätter "enkelfnuttarna"? Testa så här: Jag tycker du bör spara dat så som den matas in och istället formatera den vid utskrift. Jag kör den här rutinen för att aktivt rensa bort alla <. Ska inte vara någon möjlighet till det i textfältet.Function-problem
Vad jag inte lyckas med är att få reslutatet till variabeln som sparar detta i databasen.
Det här är rutinen:
<code>
Function SafeEncode(strText)
SafeEncode = server.htmlencode(strText)
SafeEncode = Replace(strText, "'", "'")
end Function
</code>
Och så här kallar jag p åden (eller försöker iaf):
<code>
Headline = SafeEncode(Headline)
Text = SafeEncode(Text)
</code>Sv: Function-problem
<code>
Function SafeEncode(strText)
SafeEncode = server.htmlencode(strText)
SafeEncode = Replace(SafeEncode, "'", "'")
end Function
</code>Sv: Function-problem
Detta eftersom data annars kan gå förlorad.
T.ex. efter att du kört Server.HTMLEncode() kan du inte särskilja på vad som var < och < eftersom bägge blir konverterade till <.
Om användaren vil redigera data vill det känna igen denna. Att det var samma som det skrev.
Problemet med SQL inject adresserar du bäst genom att använda parameter frågor, Se ADODB.Command.Sv:Function-problem
Har dessutom effektiviserat det hela genom att köra funtionen direkt på request.querystring