webForumDet fria alternativet

Spara och skriva ut asp kod

ASP

11 svar · 325 visningar · startad av ConnyFox

Medlem sedan aug. 20011 087 inlägg
Frågan#1

jag vill kunna skriva asp kod i en textbox, spara den i min databas och sedan skriva ut den på en sida.

hur gör jag för att koden skall visas/sparas och inte köras eller ställa till problem i sql:en.

Medlem sedan juni 200032 967 inlägg
#2
strCode = Server.HTMLEncode(strCode)
Medlem sedan aug. 20011 087 inlägg
#3

Ok skall testa det! tack

Medlem sedan aug. 20011 087 inlägg
#4

Jag använder följande kod när jag försöker spara kod i min databas men det fungerar inte alltid.

kod = Server.HTMLEncode(request.form("add_script_kod"))

När jag försöker spara t.ex en funktion i databasen så får jag error

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[MySQL][ODBC 3.51 Driver][mysqld-4.0.14-nt]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'FormatAge()<br>Function FormatAge(ByVal vstrDate) 'As Lon
/stajlsajten/scriptarkiv.asp, line 14

Webbläsare:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MyIE2) 

Sida:
POST 506 bytes to /stajlsajten/scriptarkiv.asp

POST Data:
add_script_rubrik=hh&add_script_beskrivning=hh&add_script_kod=%3C%25%0D%0A%27FormatAge%28%29%0D%0AFunction+FormatAge%28ByVal+vstrDate%29+%27As+Long%0D%0A%0D%0A%09%27Declare+variables%0D%0A%09Dim+lngRe . . .
Medlem sedan dec. 200012 464 inlägg
#5

Visa sql-koden som orsakar felet. Skriv ut den efter det att du har substituerat in alla värden.

Medlem sedan aug. 20011 087 inlägg
#6

ok, som ni ser så görs inget åt asp koden innan den hamnar i sql-satsen..

insert into stajl_scriptarkiv (rubrik, beskrivning, kod, forklaring, kategori, datum) values ('hh', 'hh', '<% 'FormatAge() Function FormatAge(ByVal vstrDate) 'As Long 'Declare variables Dim lngResult 'As Long 'Get and format age lngResult = Round(DateDiff("m", vstrDate, Now) / 12, 1) 'Return result FormatAge = lngResult End Function %>', 'hh', 'Asp/Vbscript', '2003-12-08 18:49:13')
Medlem sedan maj 2002560 inlägg
#7

; avslutar väl en rad i sql? eller? gör om dina &lt; och &gt; till < och > och se om det blir nån skillnad.

Medlem sedan aug. 20011 087 inlägg
#8

är det inte meningen att server.htmlencode skall göra om alla tecken till t.ex &lt m.m? så man kan spara i databasen?

Medlem sedan aug. 20011 087 inlägg
#9

Lyckades lösa det med en funktion en polare gav mig

function secure(value)
  value = trim(value)
  value = replace(value, "'", "''")
  secure = value
end function
Medlem sedan maj 2002560 inlägg
#10

Men du... när du sparar din kod i databasen... fixar du injection?

replace(strCode, "'", "''")

och på vägen ut ur databasen

replace(strCode, "''", "'")

/red där ser man : ) men då vill jag säga:

function secure(value)
  value = [red]"" &[/red] trim(value)
  [red]if value = "" then exit function[/red]
  value = replace(value, "'", "''")
  secure = value
end function
Medlem sedan aug. 20011 087 inlägg
#11

Asså det funkar bra på asp kod men inte javascript

så nu använder jag följande men lyckas inte få replacen att funka av någon anledning. försöker jag byta ut något annat än <br> så funkar den men inte på <br>


koden = server.htmlencode(rs("kod"))

response.write "<font class='txtred'>" & replace(koden, "<br>", vbCrLf) & "</font>"
Medlem sedan aug. 20011 087 inlägg
#12

hmm ok nu funkar dte även om d e lite mer kod än vad som antagligen behövs!

koden = replace(rs("kod"), "<br>", vbCrLf)
koden = server.htmlencode(koden)
koden = replace(koden, vbCrLf, "<br>")
.write "<font class='txtred'>" & koden & "</font>"
256 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)