如何阻止通过IP访问一组url模式?

我一直试图阻止访问/admin/admin/{anything}与pipe理不是一个物理子目录在银条,除了有限的一组IP地址,并提出了以下.htaccess文件部分大部分工作。

 <IfModule mod_rewrite.c> SetEnv HTTP_MOD_REWRITE On RewriteEngine On RewriteBase '/' RewriteCond %{REQUEST_URI} ^(.*)?(admin/(.*)|admin)$ RewriteCond %{REMOTE_ADDR} !^(127\.0\.0\.1|216\.58\.208\.36)$ RewriteRule ^(.*)$ - [R=403,L] </IfModule> 

不过有人指出,这不会阻止非重写的访问framework/main.php?url=adminframework/main.php?url=admin/{anything}

在这条银条上面也可以通过不支持.htaccess的Nginx服务。

我怎样才能更新这个.htaccess部分以阻止非重写版本,以及如何在nginx中做同样的事情?

Hailwood,有几个模块可以解决这个问题。 可能是一个好的起点:

https://github.com/silverstripe-labs/silverstripe-securityextras

https://github.com/prij/silverstripe-iprestrictedpage