#476 - Visualizzare e colorare il codice sorgente di una pagina ASP

Per visualizzare il codice sarebbe bastanto anche solo copiare il file specificato in un file txt e mandare in output l'url del file txt.
Questo script invece utilizza l'oggetto XMLHTTP per leggere il contenuto del file txt a mandarlo in output con il codice ASP colorato.

<%
on error resume next

'CARTELLA CON I PERMESSI DI SCRITTURA
cartella="/images/"
filetxt = cartella & "xml.txt"

if request("b")="ok" then
url = request("url")
if instr(url,lcase("http://"&request.servervariables("SERVER_NAME")))<1 then
response.write("Errore, non puoi accedere a file esterni al dominio "&request.servervariables("SERVER_NAME"))
response.end
end if

arra=split(url,request.servervariables("SERVER_NAME"))
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
fso.copyFile server.mappath(arra(1)), server.mappath(filetxt),true
set fso=nothing
url2="http://"&request.servervariables("SERVER_NAME")&filetxt

Set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP")
xmlhttp.Open "GET", url2, False
xmlhttp.Send
pagetxt = CStr(xmlhttp.ResponseText)

pagestatus = xmlhttp.Status

Set xmlhttp = Nothing
If CInt(pagestatus) = 200 Then
session("TX")=pagetxt
Else
Response.write "Si è verificato il seguente errore: " & pagestatus
response.end
End If

response.write("<textarea rows=12 cols=55>"&pagetxt&"</textarea><br>")

pagetxt=replace(pagetxt,"<","<")
pagetxt=replace(pagetxt,">",">")
pagetxt=replace(pagetxt,"<%","<font face=Courier color=red><%")
pagetxt=replace(pagetxt,"%>","%></font>")
pagetxt=replace(pagetxt,VbCrLf,"<br>")

%>
<br><font face=arial size=2><%=pagetxt%></font>
<%
end if
%>
<form method="post" action="xml.asp">
URL della pagina di cui vuoi visualizzare il sorgente:
<input type="txt" name="url" size="20">
<input type="submit" name="b" value="ok">
</form>
<%
if err.number<>0 then
response.write(err.description)
end if%>


Approfondimenti
Commenti

Esprimi il tuo giudizio su questo script:

Per procedere devi essere autenticato.

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.