一年前,我使用 php 制作了一个网站,当时我的经验少了很多。我的老师和我今天正在分析代码,似乎存在安全问题。他希望我在他给我需要的分数之前解决它。
我在根目录中有一个index.php
和一个文件,还有一个登录页面(我发现这是一个放置登录文件的非常愚蠢的地方,现在我回顾它,我可能会交换's 和的目录,如果我要重写我的网站)。edit.php
/php/login.php
edit.php
login.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 上为这个新手提供任何帮助或提示将不胜感激:-)
编辑:
雷的评论说:
当然,因为它们是客户要求的。您不能“允许客户端”和“不允许客户端”提供文件。
我想这是真的,但是我怎样才能阻止人们调用我的 ajax 文件呢?