在其他人打开之前保护要包含的PHP文件

时间:2014-09-19 14:38:39

标签: php hyperlink include

我正在开发一个小型PHP项目。我想要包含许多PHP文件,但我希望在通过其他人的直接链接打开之前保护它们。

例如:

<?php include 'content/scripts/php/sample.php'; ?>

我不希望别人通过

访问sample.php
http://samplepage.com/content/scripts/php/sample.php

3 个答案:

答案 0 :(得分:3)

如果您在共享主机中并且无法将文件放在Web服务器文件夹之外或者无法使用.htaccess,则常见的方法是在主php文件中定义一个常量,然后在顶部检查该常量每个包含文件和die()如果没有定义。通过这种方式,人们仍然可以使用其路径访问文件,但他们只会看到一个空白页面。例如,Wordpress使用这种方法。

在主php文件中:

define('APP', true);

在包含的文件中:

if(!defined('APP')) die();

答案 1 :(得分:2)

只需将它们放在您的Web服务器公用文件夹之外(并且可以使用set_include_path进行一些操作,以便从公共php文件中轻松访问它们。)

答案 2 :(得分:0)

你也可以在PHP中解决这个问题,如下所示:

的index.php

<?php

define('PARENT_AVAILABLE', true);

include.php

<?php

if (!defined('PARENT_AVAILABLE')) die('Not allowed');