Avatar billede hooo Nybegynder
04. juni 2000 - 23:50 Der er 12 kommentarer og
3 løsninger

Vis kildekode

Hejsa allesammen

Jeg vil gerne have det lavet sådan at folk kan gå ind og se mine koder, hvordan ??
Avatar billede sa Nybegynder
04. juni 2000 - 23:56 #1
Hvis du mener kilderne til selve ASP-scriptene. Det bliver nok list svært, da de jo udføres på serveren med det samme. Hvis filer ikke har efternavnet *.asp, vil de ikke blive eksekveret, så du kunne evt. lægge en kopi til download eller i nogle *.html dokumenter.
Avatar billede phylox2 Nybegynder
04. juni 2000 - 23:56 #2
Hvis folk skal kunne se din ASP kode skal du bare gemme disse som TXT filer og lægge dem på serveren
Avatar billede phylox2 Nybegynder
04. juni 2000 - 23:57 #3
ARGAHRGAHRAH!!!! 7 sekunder!!!! :)
Avatar billede steffen Nybegynder
04. juni 2000 - 23:58 #4
Du kan også lave en include i et asp dokument, der tager den fil du vil vise som input.

Så kan du fx lave en hurtig linienummerering osv samtidigt (gør det også lidt sværere at kopiere sourcen uden videre).
Avatar billede sa Nybegynder
05. juni 2000 - 00:00 #5
I teorien ville det også være muligt at lave et script, der kunne hente fra de øvrige asp-filer og vise indholdet som tekst, hvis du vil slippe for at lave kopier, men det bliver straks langt mere kompliceret.

Hvis du har mange filer, du ønsker at lave kopier af, kan du evt. bruge en dos-kommando inden opload i retning af

xcopy *.asp *.txt
Avatar billede naesager Nybegynder
05. juni 2000 - 00:37 #6
jae eller du kunne lave en HTMLencode og ligge det hele i der som output
Avatar billede olberd Nybegynder
05. juni 2000 - 00:54 #7
Skal det være i ASP, jeg har nemlig lavet det i PHP3.

Så hvis det er OK, så har jeg en løsning til dig!
Avatar billede olberd Nybegynder
05. juni 2000 - 01:05 #8
hvis PHP ikke er OK, så sig lige til... så kan jeg forhåbentligt hurtigt strikke noget sammen i ASP!
Avatar billede sa Nybegynder
05. juni 2000 - 01:07 #9
Ja, HTMLencode var netop en af mulighederne jeg havde i tankerne i det ovenstående. Det vil dog kræve, at du indsætter et stykke kode, der henviser til den fil, du ønsker at vise kildekoden til. Hvis du eks. laver et link på følgende måde:

vis.asp?fil=script.asp

kan du opbygge vis.asp som noget i retning af:

<%

Set filesys = CreateObject("Scripting.FileSystemObject")
Set txtfile = _
  filesys.OpenTextFile("" & Request.ServerVariables("APPL_PHYSICAL_PATH") & "\" & request.querystring("fil") & "",1, 0)

  indhold = txtfile.ReadAll
  txtfile.Close

response.write "" & replace(Server.htmlencode(indhold),"" & vbcrlf & "","<br>") & ""

%>

Vær opmærksom på, at filen, der ønskes vist i dette tilfælde skal ligge i roden. Dette kan dog blot ændres i selve linket eller i vis.asp, hvis filen ligger i en undermappe.
Avatar billede stingbat Nybegynder
05. juni 2000 - 02:19 #10
Her er en funktion (sub), som gør noget lign. som overstående svar, men checker også samtidig om filen eksistere, så brugeren i stedet får en anden besked (samt at man stadig får ens eget design frem) end den standard i serveren:

<%
Sub VisSource(sFilnavn)
    Set fsObj = CreateObject("Scripting.FileSystemObject")
    If fsObj.FileExists(Server.Mappath(sFilnavn)) Then
        Set fsFile = fsObj.OpenTextFile(Server.Mappath(sFilnavn), 1, False)
        Response.Write Replace("" & Server.HTMLEncode("" & fsFile.ReadAll), vbCrLf, "<BR>" & vbCrLf)
        fsFile.Close
        Set fsFile = Nothing
    Else
        Response.Write "Filen blev ikke fundet!<BR>" & vbCrLf
    End If
    Set fsObj = Nothing
End Sub
%>

For at få den vist, skriver du blot:
<% VisSource("fil.asp") %>


// Stingbat
Avatar billede stingbat Nybegynder
05. juni 2000 - 02:30 #11
Mens man nu var igang med at lave ekstra funktioner til source-viseren, kunne man jo også få den til at beskytte indholdet af bestemte filer, indeholdende "private"/hemlige oplysninger (f.eks. passwords til databaser og lign.):

<%
Sub VisSource(sFilnavn)
    Set fsObj = CreateObject("Scripting.FileSystemObject")

    sCheckFil = fsObj.GetFileName(Server.Mappath(sFilnavn))
    If sCheckFil <> "hemlig1.asp" AND sCheckFil <> "hemlig2.asp" Then
        If fsObj.FileExists(Server.Mappath(sFilnavn)) Then
            Set fsFile = fsObj.OpenTextFile(Server.Mappath(sFilnavn), 1, False)
            Response.Write Replace("" & Server.HTMLEncode("" & fsFile.ReadAll), vbCrLf, "<BR>" & vbCrLf)
            fsFile.Close
            Set fsFile = Nothing
        Else

        Response.Write "Filen kunne ikke indlæses (blev ikke fundet)!<BR>" & vbCrLf
        End If
    Else
        Response.Write "Sourcen er desværre beskyttet!<BR>" & vbCrLf
    End If
    Set fsObj = Nothing
End Sub
%>


// Stingbat
Avatar billede mgade Nybegynder
05. juni 2000 - 08:12 #12
asp101 har en kanon source view ting på http://www.asp101.com/resources/visitors/index.asp
Avatar billede netsrac Praktikant
05. juni 2000 - 09:56 #13
Eller hvad med

kald på filen
visfil.asp?fil=visfil.asp

Koden
<HTML>
<HEAD><TITLE>Filviser</TITLE>
<STYLE>
BODY { font-family: tahoma; font-size: 10pt }
</STYLE>
</HEAD>
<BODY BGCOLOR="#000000" TEXT="#FFFFFF">
<%
Set fso = CreateObject("Scripting.FileSystemObject")
Set fil = fso.OpenTextFile(Server.MapPath(Request("fil")) , 1, True)
if fil.AtEndOfStream then%>
<font face="Tahoma" size="2" color="#FFFFFF">Filen er tom eller findes ikke!</font>
<%
else
do until fil.AtEndOfStream %>
<% Response.write (replace(Replace(server.htmlencode(Fil.ReadLine), "%&gt;", "%&gt;</font>"), "&lt;%", "<font color=CC0000>&lt;%")) & "<br>" & chr(13) %>
<%
loop
fil.Close
Set fil = Nothing
end if
%>
</BODY>
</HTML>
Avatar billede kornfreak Nybegynder
05. juni 2000 - 14:37 #14
Eller du kunne tage hele koden og smække den i "normal" i en frontpage 2000 side, så er det nemmere at overskue ;O)
Avatar billede hooo Nybegynder
05. juni 2000 - 20:34 #15
Hejsa Allesammen, må sige at jeg bedst kan lide netsrac´s forslag, men de andre er nu også meget gode.

Manke Tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester