如何使用apache和php限制对公共文件的访问?

时间:2016-05-26 14:03:05

标签: javascript php apache

首先,该网站托管在专用网络上,因此无需限制对文件的访问。

该网站是一个包含长表的页面,每一行都与一个文件相对应(具有相同的ID)。当您单击该行时,JS将加载该文件。这些文件是公开可用的,因此JS可以在没有AJAX的情况下加载它们。

现在,该网站很容易被托管在互联网上。

我可以使用PHP限制对主页的访问,但我不能将文件移动到无法访问的文件夹,因为JS将无法加载。

我尝试将所有流量重定向到LOGIN页面,PHP将决定哪个允许这样:

在apache中:

RewriteRule (.*) /login.php
在login.php中的

:如果没有被曝光:将被解雇,如果被取消,将被重新取回原始文件:

header('Location: ' . $_SERVER['request_url']);

我不知道如何让apache知道不重定向那些已经确认的商品的问题。所以现在

apache redirect to login.php -> login.php redirect to original page -> apache redirects to login.php -> and so on...

我试图在php中设置env varable:

$_ENV['stop_rewrite'] = true;

并在apache中:

<if !stop_rewrite>
 RewriteRule (.*) /login.php
</if>

但我得到500错误..

任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:-1)

在根目录中的.htaccess文件中添加以下行:

Options -Indexes