当用户直接访问php文件时如何使页面空白


How to make page blank when user access php file directly?

所以我正在尝试从我的 Html 文件中制作一个主题。使用require('file.php')其中file.php是我主题的一系列不同组件。现在,当我直接访问该文件时,我仍然看到html。如何使其在用户直接访问file.php时显示空白页?

解释所以假设我做了索引.php我想包含头文件( header.php

当我require('header.php')时,一切都很完美。现在当我尝试访问header.php时,我可以看到它的html内容。如何使它显示为空白而不是看到header.php片?谢谢

在这种情况下,如果要在index.php内执行header.php或等。您需要在父文件中添加或define一个标志(无论您要执行header.php在哪里执行,或者只是添加到所有父文件中调用的公共文件中),在头文件中.php您需要检查定义的标志是否设置或具有一些值。如果未设置,则使用die();函数停止执行。

在索引.php中

<?php $HeaderAllow ='1';  ?>

在头文件中

 <?php 
     if($HeaderAllow=='' or !isset($HeaderAllow)){
         die();
     }
 ?>

您可以使用此处的$_SERVER['SCRIPT_FILENAME']进行检查,然后在header.php中使页面空白。

<?php
if($_SERVER['SCRIPT_FILENAME'] == 'header.php') {
    exit();
}

包含文件放在单独的文件夹中并使用.htaccess进行保护是个好主意。

同样的问题在这里。

拒绝 HTaccess 对文件夹和文件的直接访问

最简单的方法是将包含放在目录中,并在 .htaccess 文件中拒绝对该目录的访问