如何限制只能从服务器访问的文件?

时间:2012-10-29 13:56:14

标签: c# iis

我需要一个C#代码,只有当我的应用程序所在的服务器将请求发送到该文件时才允许访问该文件。如果浏览器的用户尝试访问它,它将发出“403 Forbidden”错误消息。

先谢谢。

3 个答案:

答案 0 :(得分:1)

您可以在位于具有受限文件的目录中的本地web.config文件中禁用对文件的外部访问。 ASP.MET MVC Views文件夹中使用的类似方法。

本地web.config

<configuration>
<system.web>
    <httpHandlers>
    <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
    </httpHandlers>
</system.web>

<system.webServer>
    <handlers>
      <remove name="BlockViewHandler"/>
      <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
    </handlers>
</system.webServer>
</configuration>

答案 1 :(得分:0)

只需确保文件位于IIS无法访问的文件系统上(如果使用默认目录: wwwroot 之外),然后使用C#访问该文件。

这样他们就无法浏览它。

答案 2 :(得分:0)

如果是IIS,请查看ipSecurity Element [IIS Settings Schema]

<ipSecurity allowUnlisted="false">

   <clear/>

   <!-- Allow only requests from the local machine. -->
   <add ipAddress="127.0.0.1" allowed="true"/> 

</ipSecurity>