直接从网络服务器通过curl访问我自己的网站,但不允许从外部访问
问题描述:
我想从我的网络服务器使用cURL在同一个网络服务器上调用我网站上的网页(importdata.aspx)。但我想确保importdata.aspx页面不能从互联网上访问。直接从网络服务器通过curl访问我自己的网站,但不允许从外部访问
我在我的网站上使用表单身份验证,所以我不能让我的cURL调用登录。 在我的web.config文件,我不允许未经身份验证的用户:
通过IIS设置不同的网站,并允许匿名用户,仍然不会让我访问IMPORTDATA .aspx,因为我的formsauthentication会阻止这个权利?
有没有办法允许importdata.aspx只能通过本地机器访问,并从外部完全阻止它?
答
Web.config文件有一些选项可以根据URL路径设置不同的配置。 https://msdn.microsoft.com/en-us/library/ms178692(v=vs.90).aspx
实施例:
<configuration>
<system.web>
<sessionState cookieless="true" timeout="10" />
</system.web>
<!-- Special configuration for the "importdata.aspx" -->
<location path="importData.aspx">
<system.web>
<authentication mode="Windows" />
</system.web>
</location>
</configuration>
在本例中,我定义的importData.aspx文件不同的认证模式。
我得到一个配置错误:'在应用程序级别之外使用注册为allowDefinition ='MachineToApplication'的部分是错误的。这个错误可能是由于虚拟目录没有被配置为IIS中的应用程序造成的。'我通过cURL从我的服务器的bat文件中调用importdata.aspx以及从外部浏览importdata.aspx – Flo