我们已经有了一个网络服务器运行IIS。我们想或许一个共有的博客或什么的跟踪信息。因为安全问题,我们希望的那部分可以只看自localhost因此人们必须远在使用它。

因此,要重复我的问题,可以部分的一个网站可以作出的选从localhost仅?

有帮助吗?

解决方案

在IIS6你可以把性的网络和单击目录安全卡。按一下按钮,在中间标签编辑知识产权和领域的限制。在这个标签设置的所有计算机作为拒绝,然后添加例外IPs你想要允许访问这个网站。

我不确定如何配置,这在IIS7.我看了但找不到它,如果我找到它我编辑这个答案。

编辑: 配置IIS7

  • Josh

其他提示

对于某些人在 IIS 8 / Windows 2012

中进行此操作

1)在服务器管理器中,转到 Manage,Add Roles and Features ,Next,Next(转到 Server Roles ),滚动到 Web Server(IIS),展开该行,然后展开 Web Server ,最后展开 Security 。确保已安装 IP和域限制

2)在 IIS管理器中,深入查看要保护的文件夹,然后左键单击选择它。在该文件夹的 Features View 中,选择 IP和域限制操作中选择编辑功能设置。更改'访问未指定的客户端:''Deny'然后确定。

3)最后转到'Add Allow Entry' Action 的菜单中。输入服务器的特定IP地址。

现在只允许来自您服务器的请求访问。或者共享该IP地址的任何服务器。因此,在一个小型网络中,办公室可以在该办公室的所有PC之间共享IP地址,因此所有这些PC都可以访问该文件夹。

最后但并非最不重要的是要记住,如果您的网络具有动态IP地址,那么如果该IP发生更改,您将博客管理员文件夹公开给现在正在使用该IP的任何人。此外,新IP地址上的每个人都将无法访问您的文件夹...

如果有人希望在命令行上执行此操作,这似乎适用于IIS 7 +

%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site" -section:system.webServer/security/ipSecurity /+"[ipAddress='0',allowed='False']" /commit:apphost
%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site" -section:system.webServer/security/ipSecurity /+"[ipAddress='127.0.0.1',allowed='True']" /commit:apphost

参考

我最初想在web.config中执行此操作以简化分发,看起来以下内容可能有效:

<security>
    <ipSecurity allowUnlisted="false">    <!-- this line blocks everybody, except those listed below -->                
        <clear/> <!-- removes all upstream restrictions -->
        <add ipAddress="127.0.0.1" allowed="true"/>    <!-- allow requests from the local machine -->
    </ipSecurity>
</security>

但是因为你需要解锁中央IIS配置中的功能,所以没有优势直接使用第一个命令进行更改。

您也可以使用绑定而不是IP限制。如果编辑要限制访问的网站的绑定,则可以选择该站点可用的IP地址。如果您将IP地址设置为127.0.0.1,则该站点仅响应此IP地址,并且此IP地址当然仅在本地计算机上工作。

我已经使用IIS 8.5进行了测试。

如果未经授权的用户试图访问它,具体取决于您想要发生的事情。

您可以尝试将特定部分设置为虚拟目录,然后拒绝匿名用户查看。但是,系统会提示他们登录,如果他们可以登录,那么他们就可以看到它。

根据IIS MMC中的选项,您还可以让某个虚拟目录只能通过某些IP范围访问。您可以阻止除127.0.0.1之外的所有人。但是,我没有尝试过这个。

您可以授予或拒绝从某些IP到站点或文件夹的站点或文件夹的访问权限。在IIS中,转到相关站点或文件夹的属性。

(1)点击“Diectory Security”标签

(2)单击“IP地址和域名限制”下的“编辑”。帧。

(3)点击“拒绝访问” (这告诉IIS阻止除列出的IP之外的所有IP)

(4)点击“添加...”

(5)点击“单台计算机”

(6)输入127.0.0.1(localhost的IP)

请注意,最好在此处使用IP(如我所述)而不是域名,因为可以使用hosts文件轻松伪造域。

我同意使用IIS“目录安全性”的建议。阻止除127.0.0.1(localhost)以外的所有IP地址。

那就是说,我想知道这种要求远程用户的策略可能更多安全。使用标准IIS身份验证机制而不是在服务器计算机上管理Windows角色和权限会不会更安全(也更简单)?

您只需将此.NET添加到页面顶部即可。

string MyWebServerName = currentContext.Request.ServerVariables["SERVER_NAME"];

if ( MyWebServerName == "127.0.0.1" || MyWebServerName == "localhost" )
{
  // the user is local 
}
else
{
  // the user is NOT local
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top