在apache中限制从互联网访问

时间:2015-10-29 20:25:14

标签: php linux apache .htaccess ubuntu

我有一个可以通过互联网访问的网络应用程序,我的文件夹结构是这样的。

Folder1

 Folder2

 Files.php

abc.php

我想将Folder1的访问权限仅授予特定的IP,并允许访问abc.php给Internet上的所有人,这是我所做的但是它不起作用

<Directory /var/www/Folder1>

Allow from 19.1.5.2

<Files /var/www/Folder1/abc.php>

Allow from All

</Files>

</Directory>

但它不起作用,我错过了什么吗?

2 个答案:

答案 0 :(得分:1)

尝试使用重写。看看这是否适合您。将它放在root中的.htaccess文件中。

RewriteEngine On
RewriteCond %{REMOTE_ADDR} ^123\.123\.\123\.123 [OR]
RewriteCond %{REQUEST_URI} ^/Folder1/abc.php [NC]
RewriteRule ^ - [L]

RewriteCond %{REMOTE_ADDR} !^123\.123\.\123\.123
RewriteCond %{REQUEST_URI} !^/Folder1/abc.php [NC]
RewriteRule ^ - [F]

答案 1 :(得分:0)

我不确定您是否可以在受保护的文件夹中允许该文件。不过,以下是保护文件夹的方法。

将此.htaccess放在Folder1的根目录

Order deny, allow
Deny from all

<Limit GET HEAD POST>
  Allow from 19.1.5.2
</Limit>