<B>ASP Source Code:</B>
<HR>
<PRE>
<B>ASP Source Code:</B>
<HR>
<FONT COLOR=#FF0000><%
Dim objFSO, objInFile 'object variables for file access
Dim strIn, strTemp 'string variables for reading and color processing
Dim I 'standard loop control variable
Dim strASPFileName 'string containing filename of ASP file to view
Dim ProcessString 'flag determining whether or not to output each line
' We don't start showing code till we find the start script comment
ProcessString = 0
' Get file name from query string
strASPFileName = Request.QueryString("file")
' Conditional limiting use of this file to current directory
If InStr(1, strASPFileName, "\", 1) Then strASPFileName = ""
If InStr(1, strASPFileName, "/", 1) Then strASPFileName = ""
If strASPFileName <> "" Then
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objInFile = objFSO.OpenTextFile("C:\INetPub\wwwroot\asp101\samples\" & strASPFileName)
Response.Write "<PRE>" & vbCRLF
' Loop Through Real File and Output Results to Browser
Do While Not objInFile.AtEndOfStream
strIn = Server.HTMLEncode(objInFile.ReadLine)
' Check for start script comment
If InStr(1, strIn, "<!-- BEGIN SCRIPT -->", 1) Then
ProcessString = 1
strIn = Server.HTMLEncode(objInFile.ReadLine)
End If
' Check for end script comment
If InStr(1, strIn, "<!-- END SCRIPT -->", 1) Then ProcessString = 0
' If we're on a line to be processed then do so
If ProcessString = 1 Then
strTemp = ""
' Loop through line
For I = 1 to Len(strIn)
' First look for script openers to start red
If InStr(I, strIn, "<%", 1) = I Then
strTemp = strTemp & "<FONT COLOR=#FF0000>" & Mid(strIn, I, 1)
Else
' If no script openers look for closers to end red
If InStr(I, strIn, "%>", 1) = I Then
strTemp = strTemp & "%></FONT>"
I = I + 4
Else
' If neither just copy to strTemp as is
strTemp = strTemp & Mid(strIn, I, 1)
End If
End If
Next
' Output out processed line
Response.Write strTemp & vbCRLF
End If
Loop
Response.Write "</PRE>" & vbCRLF
' Close file and free variables
objInFile.Close
Set objInFile = Nothing
Set objFSO = Nothing
Else
' If they entered no filename or one with a / or \ ... deny access
Response.Write "Sorry, but you do not have access to view files outside the current directory."
End If
%></FONT>
</PRE>