【问题标题】:How do you change or hide the server name from directory browsing in IIS如何在 IIS 中的目录浏览中更改或隐藏服务器名称
【发布时间】:2020-07-30 17:49:59
【问题描述】:

我在反向代理后面托管一个虚拟目录,并且我在该虚拟目录上启用目录浏览。

在目录浏览页面的顶部,它列出了服务器名称,然后是该域中文件夹的路径。因为它托管在反向代理之后,所以列出的服务器域是本地域名,只能在反向代理之后访问。

我想更改或删除页面顶部的服务器域列表,以便在目录浏览页面上不显示本地域名。

我已尝试搜索这方面的信息,但没有找到任何允许您更改目录浏览页面顶部列出的信息的文档

以下只是一个示例,以说明我要更改的内容,但在我的情况下,显示的是服务器的本地域名,而不是 localhost。

【问题讨论】:

    标签: iis reverse-proxy directory-browsing


    【解决方案1】:

    我最终按照https://support.microsoft.com/en-us/help/224364/creating-a-directory-browsing-page-using-asp 此处给出的示例创建了一个自定义 ASP 页面

    如果使用自定义 ASP 页面,则需要禁用目录浏览,并将 Default.asp 文件放置在您希望能够浏览的文件夹中,并且需要为 IIS 开启 ASP 功能。

    vb脚本编写的相关ASP代码复制自链接文章如下

    <%@LANGUAGE="VBSCRIPT"%>
    <%
       Option Explicit
       On Error Resume Next
    
       ' this section is optional - it just denies anonymous access
       If Request.ServerVariables("LOGON_USER")="" Then
          Response.Status = "401 Access Denied"
       End If
    
       ' declare variables
       Dim objFSO, objFolder
       Dim objCollection, objItem
    
       Dim strPhysicalPath, strTitle, strServerName
       Dim strPath, strTemp
       Dim strName, strFile, strExt, strAttr
       Dim intSizeB, intSizeK, intAttr, dtmDate
    
       ' declare constants
       Const vbReadOnly = 1
       Const vbHidden = 2
       Const vbSystem = 4
       Const vbVolume = 8
       Const vbDirectory = 16
       Const vbArchive = 32
       Const vbAlias = 64
       Const vbCompressed = 128
    
       ' don't cache the page
       Response.AddHeader "Pragma", "No-Cache"
       Response.CacheControl = "Private"
    
       ' get the current folder URL path
       strTemp = Mid(Request.ServerVariables("URL"),2)
       strPath = ""
    
       Do While Instr(strTemp,"/")
          strPath = strPath & Left(strTemp,Instr(strTemp,"/"))
          strTemp = Mid(strTemp,Instr(strTemp,"/")+1)      
       Loop
    
       strPath = "/" & strPath
    
       ' build the page title
       strServerName = UCase(Request.ServerVariables("SERVER_NAME"))
       strTitle = "Contents of the " & strPath & " folder"
    
       ' create the file system objects
       strPhysicalPath = Server.MapPath(strPath)
       Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
       Set objFolder = objFSO.GetFolder(strPhysicalPath)
    %>
    <html>
    <head>
    <title><%=strServerName%> - <%=strTitle%></title>
    <meta name="GENERATOR" content="The Mighty Hand of Bob">
    <style>
    BODY  { BACKGROUND: #cccccc; COLOR: #000000;
            FONT-FAMILY: Arial; FONT-SIZE: 10pt; }
    TABLE { BACKGROUND: #000000; COLOR: #ffffff; }
    TH    { BACKGROUND: #0000ff; COLOR: #ffffff; }
    TD    { BACKGROUND: #ffffff; COLOR: #000000; }
    TT    { FONT-FAMILY: Courier; FONT-SIZE: 11pt; }
    </style>
    </head>
    <body>
    
    <h1 align="center"><%=strServerName%><br><%=strTitle%></h1>
    <h4 align="center">Please choose a file/folder to view.</h4>
    
    <div align="center"><center>
    <table width="100%" border="0" cellspacing="1" cellpadding="2">
    <tr>
       <th align="left">Name</th>
       <th align="left">Bytes</th>
       <th align="left">KB</th>
       <th align="left">Attributes</th>
       <th align="left">Ext</th>
       <th align="left">Type</th>
       <th align="left">Date</th>
       <th align="left">Time</th>
    </tr>
    
    <%
       ''''''''''''''''''''''''''''''''''''''''
       ' output the folder list
       ''''''''''''''''''''''''''''''''''''''''
    
       Set objCollection = objFolder.SubFolders
    
       For Each objItem in objCollection
          strName = objItem.Name
          strAttr = MakeAttr(objItem.Attributes)      
          dtmDate = CDate(objItem.DateLastModified)
    %>
    <tr>
       <td align="left"><b><a href="<%=strName%>"><%=strName%></a></b></td>
       <td align="right">N/A</td>
       <td align="right">N/A</td>
       <td align="left"><tt><%=strAttr%></tt></td>
       <td align="left"><b><DIR></b></td>
       <td align="left"><b>Directory</b></td>
       <td align="left"><%=FormatDateTime(dtmDate,vbShortDate)%></td>
       <td align="left"><%=FormatDateTime(dtmDate,vbLongTime)%></td>
    </tr>
    <% Next %>
    
    <%
       ''''''''''''''''''''''''''''''''''''''''
       ' output the file list
       ''''''''''''''''''''''''''''''''''''''''
    
       Set objCollection = objFolder.Files
    
       For Each objItem in objCollection
          strName = objItem.Name
          strFile = Server.HTMLEncode(Lcase(strName))
    
          intSizeB = objItem.Size
          intSizeK = Int((intSizeB/1024) + .5)
          If intSizeK = 0 Then intSizeK = 1
    
          strAttr = MakeAttr(objItem.Attributes)
          strName = Ucase(objItem.ShortName)
          If Instr(strName,".") Then strExt = Right(strName,Len(strName)-Instr(strName,".")) Else strExt = ""
          dtmDate = CDate(objItem.DateLastModified)
    %>
    <tr>
       <td align="left"><a href="<%=strFile%>"><%=strFile%></a></td>
       <td align="right"><%=FormatNumber(intSizeB,0)%></td>
       <td align="right"><%=intSizeK%>K</td>
       <td align="left"><tt><%=strAttr%></tt></td>
       <td align="left"><%=strExt%></td>
       <td align="left"><%=objItem.Type%></td>
       <td align="left"><%=FormatDateTime(dtmDate,vbShortDate)%></td>
       <td align="left"><%=FormatDateTime(dtmDate,vbLongTime)%></td>
    </tr>
    <% Next %>
    
    </table>
    </center></div>
    
    </body>
    </html>
    <%
       Set objFSO = Nothing
       Set objFolder = Nothing
    
       ' this adds the IIf() function to VBScript
       Function IIf(i,j,k)
          If i Then IIf = j Else IIf = k
       End Function
    
       ' this function creates a string from the file atttributes
       Function MakeAttr(intAttr)
          MakeAttr = MakeAttr & IIf(intAttr And vbArchive,"A","-")
          MakeAttr = MakeAttr & IIf(intAttr And vbSystem,"S","-")
          MakeAttr = MakeAttr & IIf(intAttr And vbHidden,"H","-")
          MakeAttr = MakeAttr & IIf(intAttr And vbReadOnly,"R","-")
       End Function
    %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-30
      • 2014-08-27
      • 2014-07-21
      • 2017-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多