我正在开发一个小型PHP项目。我想要包含许多PHP文件,但我希望在通过其他人的直接链接打开之前保护它们。
例如:
<?php include 'content/scripts/php/sample.php'; ?>
我不希望别人通过
访问sample.php
http://samplepage.com/content/scripts/php/sample.php
答案 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');