我可以使用运行 PHP 站点的 IIS 将 IP 列入白名单吗?
正如这篇文章所述, 通过 PHP 阻止 IP 非常简单。
但是,如何使用 IIS 在站点范围内执行此操作?
以下是我的(重要)警告:
- 我无权更改 php.ini。 所以我不能使用 auto_prepend 功能。
- 我使用的是带有 IIS 的 Windows,因此无法使用 .htaccess。
- 我没有任何在所有脚本上调用的 PHP“页脚”。 事实上,很多页面都是静态 HTML!
有什么办法可以使用 IIS 将 IP 列入白名单吗?
好消息是我有一个要列入白名单的静态 IP 列表,因此我不需要轻松更改它们。
As outlined by this guys post, blocking IP's via PHP is pretty easy.
However, how can I do this, site wide, using IIS?
Here are my (big) caveats:
- I do not have access to change the php.ini. So I can't use auto_prepend feature.
- I am on Windows with IIS so I can't use .htaccess.
- I don't have any PHP "footer" which gets called on all of the scripts. In fact, a lot of the pages are static HTML!
Is there any way I can use IIS to whitelist IP's?
The good news is that I have a static list of IP's to whitelist, so I wont need to easily change them.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以在 IIS 中将 IP 地址列入白名单,这应该会为您提供所需的结果。
You can whitelist IP addresses in IIS, which should give you the results you want.
您可以使用 URL 重写器(如 IIRF )来执行此操作。 插入规则以返回 404 或任何您喜欢的来自不允许 IP 的请求。 这适用于任何 Web 应用程序平台:PHP、Java、ASP.NET、RoR、静态 html 或图像,等等。
自述文件给出了一个这样的例子:
它说:
此 RewriteCond+RewriteRule 将任何外部发起的请求重定向到 IIS 服务器。 您可以对一组特定的白名单 IP 执行类似的操作。
IIRF 是一个用 C 语言编写的 ISAPI 过滤器,其原理与 mod_rewrite 类似。 它适用于 IIS5、6 或 7。您需要管理员访问权限才能设置它。 您不需要“对其进行编程”,但有一个 ini 文件与 .htaccess 具有类似的语法(特别是对于 mod_rewrite 规则)。
IIRF 是免费且开源的。
You can use a URL Rewriter like IIRF to do this. Insert rules to return 404's or whatever you like to requests that come from disallowed IPs. This will work with any web app platform: PHP, Java, ASP.NET, RoR, static html or images, whatever.
The readme gives an example like this:
and it says:
This RewriteCond+RewriteRule redirects any externally originating requests to the IIS server. You could do something similar for a specific set of whitelisted IPs.
IIRF is an ISAPI filter written in C, and is similar in philosophy to mod_rewrite. It works with IIS5, 6, or 7. You will need admin access to set it up. You don't need to "program it", but there is a ini file that has similar syntax to .htaccess (specifically for the mod_rewrite rules).
IIRF is free and open source.