0

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

我在根目录中有一个index.php和一个文件,还有一个登录页面(我发现这是一个放置登录文件的非常愚蠢的地方,现在我回顾它,我可能会交换's 和的目录,如果我要重写我的网站)。edit.php/php/login.phpedit.phplogin.php

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

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

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 只允许从包含访问文件

雷的评论说:

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

我想这是真的,但是我怎样才能阻止人们调用我的 ajax 文件呢?

4

1 回答 1

0

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

于 2013-09-25T10:06:40.270 回答