Försöker åtgärda det där med SQL Injections, Har en safesql i functions.asp Och vad är felet? Vad händer o du gör: <b>Och vad är felet? Functions.asp i action.asp!?!
<code>Function safesql(strText)
IF isNull(strText) Then
safesql = strText
Else
strText = Replace(strText,"'","''")
strText = Replace(strText,"´","´´")
safesql = strText
End if
End Function </code>
Försöker includera den i Action.asp utan framgång. I action.asp har jag de flästa sqler som lägger in / uppdaterar databasen. Det kommer bara fram ett tomt webbfönster (The page cannot be displayed) utan felmeddelanden.
Action.asp ser ut som följer
<code>
<!--#include file="Functions.asp"-->
Select Case request("action")
Case "add"
Call add()
Case "delete"
Call delete()
Case "update"
Call update()
mm mm
Sub add() '************************ Lägger till en produkt
kategori = Request.form("kategori")
titel = Request.form("titel")
sql = "select id from shcats where name = '" & kategori & "'"
Set Rst = Conn.Execute(SQL)
sql = "insert into shItems (category, title, description, price, vikt, antal, smallImage) values ('" & rst("id") & "'," & _
"'" & safesql(titel) & "'," &_ ' < här har jag en safesql
"'" & safesql(produkt) & "'," & _ ' < Här har jag en safesql
mm mm
</code>
Det funkar inte att skriva som jag har gjort i coden ovan :-(
På de sidor där jag har en och annan sql och includerar functions.asp och skriver safesql(strtext) funkar det på. Vad är/gör jag för fel
mvh JockeSv: Functions.asp i action.asp!?!
Får du en felaktig sql-sträng?
Skriv då ut sql-strängen så vi får se vad felet är istället för att gissa.
Annars, på rak arm:
1. Vad händer om strText är null? Kan den konkatenera då?
2. Är du 100% säker på att inget kan ta sig igenom din safesql? (annars skulle jag vara väldigt försiktig med namnet "safesql" =)...)
3. Använder du parametriserade frågor istället får du inte problemen alls istället.Sv: Functions.asp i action.asp!?!
<%
Function safesql(strText)
If isNull(strText) Then
safesql = strText
Else
strText = Replace(strText,"'","''")
strText = Replace(strText,"´","´´")
safesql = strText
End if
End Function
%>
Samt:
<!--#include file="Functions.asp"-->
<%
Select Case request("action")
'...
%>
Sv:Functions.asp i action.asp!?!
Får du en felaktig sql-sträng?</b>
Nej, jag får ingenting. Sidan stannar bara upp, har skrivit response.write sql, men inget händer bara (The page cannot be displayed) kommer upp.
<b>2. Är du 100% säker på att inget kan ta sig igenom din safesql?</b>
Nej jag är inte 100% säker, men det finns inget som är idiotsäkert. Men det är säkert bättre än inget alls;-)
Andreas
<b>
<!--#include file="Functions.asp"-->
<%
Select Case request("action")
'...
%>
</b>
Det var så jag menade i min kod. Nu har jag provat länge och väl, Om jag bara lägger in min funktionen i actions.asp och kör det hållet funkar det nu. Men inte om jag gör en <!--#include file ="functions.asp--> på den.
Så jag får väl låta det vara så och kryssa för löst