Apache上的IP阻止URL

时间:2009-10-12 13:39:39

标签: php security apache cakephp

我需要阻止通过IP地址访问我的整个网站,除了url / api应该对所有人开放。

我目前正在使用......

<LocationMatch /admin>
    Order Deny,Allow
    Deny from all
    Allow from [MY IP]
</LocationMatch>

这会阻止以/ admin开头的访问URL。但是我想阻止除了启动/ api之外的所有网址。

克里斯

2 个答案:

答案 0 :(得分:2)

RewriteEngine On # (only needs to happen once in .htaccess files.

RewriteBase /
RewriteCond %{REMOTE_ADDR} !^10\.103\.18\.104     # <--YOUR IP HERE
RewriteCond %{REQUEST_URI} !^/api    # page or directory to ignore                   
RewriteRule ^(.*)$ http://example.com/no_access.html [R=401] # where to send blocked requests

答案 1 :(得分:0)

那么你可以先阻止整个网站,然后简单地允许/ api。

<LocationMatch />
    Order Deny,Allow
    Deny from all
    Allow from [MY IP]
</LocationMatch>

<LocationMatch /api>
    Order Deny,Allow
    Allow from all
</LocationMatch>

很抱歉,由于在我的电脑上配置了XAMPP,我无法测试它。祈祷它有效。