Man kan, men det suger. Man måste då begränsa sig till endast asp-kod i det man vill köra (dvs inga kontext-svitsjar eller annat bövelskap). Man kan då använda sig av execute(), executeglobal() eller eval().
Nu har du iaf några nya sökord.
3 svar · 607 visningar · startad av Mika3l
Chips!
Jag har en hemsida som hämtar sidor från en databas och visar. På några av sidorna vill jag använda mig av några få ASP-koder men ingen av dessa körs utan skrivs istället ut direkt på sidan (jag använder inte HTMLEncode). Kan jag på något sätt göra så att de körs? De ligger i ett text-fält i en MySQL-databas.
Koden jag använder:
Function fixpic(strValue)
With New RegExp
.Global = True
.IgnoreCase = True
.Pattern = "\[img=([1-9]\d*)\]"
Set vMatches = .Execute(strValue)
For Each Match in vMatches
iid = Match.SubMatches(0)
Set rs = Connection.Execute("SELECT f_title_" & lang & " FROM tblGallery WHERE f_iid = " & iid)
If NOT rs.EOF Then
strValue = Replace(strValue, Match, "<a rel=""shadowbox[content_img];options={counterType:'skip',continuous:true,animSequence:'s ync'}"" href=""images/gallery/fullsize/" & iid & ".jpg"" title=""" & rs("f_title_" & lang) & """><img src=""images/gallery/thumbs/" & iid & "_thumb.jpg?cache=" & int(rnd*1000000) & """ style=""border: 1px solid #000000; margin-bottom: 5px;"" /></a>")
End If
Next
End With
fixpic = strValue
End Function
Set rs = Server.CreateObject("ADODB.Recordset")
If intId = 0 Then
SQL = "SELECT f_title_" & lang & ",f_content_" & lang & " FROM tblContent WHERE f_start_" & lang & " = 1"
Else
SQL = "SELECT f_title_" & lang & ",f_content_" & lang & " FROM tblContent WHERE f_cid = " & intId
End If
rs.Open SQL, Connection
If rs.EOF Then
'kolla vilket språk som körs! - felaktigt id eller finns ej på språket!
Response.Write("-Felaktig sidangivelse! Var god se över den angivna adressen (till exempel ett gammalt bokmärke).<br /><br />")
'Response.Write("Incorrect page indicator! Please, check the stated url (for example an old bookmark).")
Else
If rs("f_title_" & lang) = "" Then
'kolla språk!
Response.Write("Sidan finns inte på det begärda språket")
Else
Response.Write("<h1>" & rs("f_title_" & lang) & "</h1>")
If rs("f_content_" & lang) <> "" Then
Response.Write(fixpic(Replace(rs("f_content_" & lang),"\'","'")))
End If
End If
End If
rs.Close : Set rs = Nothing
%>
Man kan, men det suger. Man måste då begränsa sig till endast asp-kod i det man vill köra (dvs inga kontext-svitsjar eller annat bövelskap). Man kan då använda sig av execute(), executeglobal() eller eval().
Nu har du iaf några nya sökord.
Gah, det sög ju rätt hårt
Men tack för din hjälp iaf