Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅允许本地主机访问asp.net上的特定页面_Asp.net_Iis_Web Config - Fatal编程技术网

仅允许本地主机访问asp.net上的特定页面

仅允许本地主机访问asp.net上的特定页面,asp.net,iis,web-config,Asp.net,Iis,Web Config,我有一个生成PDF的页面,然后将其返回给用户。生成PDF的功能将影响其他ASP.NET页面,然后将这些页面呈现为PDF 我想要的是只允许本地(通过PDF生成器)访问那些ASP.NET页面。因此,阻止直接访问将只允许PDF处理工具访问它,因为它在ASP.NET应用程序中本地运行 我尝试在web.config中添加一个ipSecurity元素,以仅允许localhost访问这些aspx页面。在开发过程中,在我的机器上本地运行所有这些都可以正常工作,但是当我部署并尝试生成报告时,会出现403错误 我请

我有一个生成PDF的页面,然后将其返回给用户。生成PDF的功能将影响其他ASP.NET页面,然后将这些页面呈现为PDF

我想要的是只允许本地(通过PDF生成器)访问那些ASP.NET页面。因此,阻止直接访问将只允许PDF处理工具访问它,因为它在ASP.NET应用程序中本地运行

我尝试在web.config中添加一个
ipSecurity
元素,以仅允许localhost访问这些aspx页面。在开发过程中,在我的机器上本地运行所有这些都可以正常工作,但是当我部署并尝试生成报告时,会出现403错误

我请求生成报告的页面位于
FolderNameHere/ReportPage.aspx
中。然后,此页面上的函数将调用
FolderHere/code/Report
中的页面以生成PDF。问题是,我认为当我访问`FolderNameHere/ReportPage.aspx时,它会将我的IP地址传递给将来对报表文件夹页面的访问,即使该函数在本地运行。是否有一种方法可以阻止对这些页面的直接访问,但本地运行的非本地地址调用的函数除外。这是我的配置,不幸的是没有做到这一点

<location path="Requisite/Code/Report"> <!-- TODO: Move to WebConfig in Requisite-->
    <system.webServer>
      <security>
        <authentication>
          <anonymousAuthentication enabled="true"/>
        </authentication>
        <ipSecurity allowUnlisted="false">
          <clear />
          <add ipAddress="127.0.0.1" allowed="true"/> <!-- only allow local host -->
        </ipSecurity>
      </security>
    </system.webServer>
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>


环回IP地址和本地主机之间通常存在区别。尝试在部署的配置中将127.0.0.1更改为localhost。

环回IP地址和localhost之间通常存在区别。尝试在部署的配置中将127.0.0.1更改为localhost。

不幸的是,ipAddress属性只接受IPv4地址。@Justin您尝试过吗?Per:“根据IP版本4地址或DNS域名指定访问限制。”您需要的属性是
domainName
,而不是
ipAddress
。我在
domainName
中尝试了localhost,但它仍然给了我403。不幸的是,ipAddress属性只接受IPv4地址。@Justin您尝试过吗?Per:“根据IP版本4地址或DNS域名指定访问限制。”您需要的属性是
domainName
,而不是
ipAddress
。我在
domainName
中尝试了localhost,但它仍然给了我403。