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

时间:2013-11-14 12:43:34

标签: php html

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

解释 所以,假设我创建了index.php,我想要包含头文件(header.php

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

4 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:2)

在这种情况下,如果您想在header.php等内部执行index.php,您需要在父文件中添加或define一个标记(您可以在任何地方header.php要执行或只是添加到所有父文件中调用的公共文件中),在 header.php 文件中,您需要检查已定义的标志是否已设置或具有某个值。如果未设置,则使用die();功能停止执行。

在index.php中

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

在标头文件中

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

答案 2 :(得分:1)

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

这里也是同样的问题。

deny direct access to a folder and file by htaccess

答案 3 :(得分:0)

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