限制访问除三个之外的所有php文件

时间:2013-09-24 20:41:18

标签: .htaccess

我在1年前使用php创建了一个网站,当时我的体验很少。我的老师和我今天正在分析代码,似乎存在安全问题。在他给我我需要的分数之前,他希望我解决它。

我在根目录中有一个index.php和一个edit.php文件,在/php/login.php中有一个登录页面(我认为这是一个非常愚蠢的登录位置文件输入,现在我回头看看,如果我要重写我的网站,我可能会交换edit.phplogin.php的目录。

基本上,我希望外部可以访问这三个文件。我希望从外部限制所有其他php文件,因此不可能从系统外部对/php/phpsavefile.php进行ajax调用(这是我提到的安全问题)。 edit.php/php/savefile.php进行ajax调用。

我认为这是我完成工作所需要的:

Order Deny,Allow
Deny from all
Allow from 127.0.0.1

<Files /index.php>
    Order Allow,Deny
    Allow from all
</Files>

但是如何在<Files之后和>之前添加三个文件而不是一个?

我也试过第二种方法:

Order Deny,Allow
Deny from all 

这似乎不起作用,因为ajax调用似乎也是一个常规的http请求,所以它得到403响应。

我尝试的另一种方法是将受限制的php文件放在名为“private”的地图中 在“httpdocs”仍然存在的同一文件夹中(webroot的父文件夹)。我的老师告诉我一个管理员文件夹,没有人可以访问,但网站本身。我尝试将受限制的php文件包含在私人文件夹中,但它似乎没有正确包含它...

.htaccess对这位新手的任何帮助或提示都将不胜感激:-)

编辑:

.htaccess allow access to files only from includes

雷的评论说:

当然,因为它们是客户要求的。您不能“允许客户端”和“不允许客户端”提供文件。

我认为这是真的,但是如何阻止人们调用我的ajax文件?

1 个答案:

答案 0 :(得分:0)

我通过检查用户是否已登录来保护它。