【问题标题】:How to make page blank when user access php file directly?用户直接访问php文件时如何使页面空白?
【发布时间】:2013-11-27 11:34:45
【问题描述】:

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

说明 所以假设我制作 index.php 并且我想包含头文件(header.php

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

【问题讨论】:

  • if (条件) { die(); }

标签: php html


【解决方案1】:

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

在 index.php 中

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

在头文件中

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

【讨论】:

  • 我不明白你的意思。 :S 你能详细说明一下吗?
  • 更新了cmets,请检查
  • 谢谢 :) 现在很容易 :)
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

    同样的问题。

    deny direct access to a folder and file by htaccess

    【讨论】:

    • - Maz - 拒绝访问是一回事,但如果我只想让页面显示为空白怎么办?
    • 那么你可以在索引文件中设置一些变量。并检查 header.php 中的变量。如果有人直接访问此字段,则不会设置变量,因此您可以简单地回显 die() 或退出。在页面的顶部。请参阅@Chinnu R 编写的上述代码 sn-p
    【解决方案4】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-01
      • 2012-05-22
      • 1970-01-01
      • 2017-06-14
      • 2010-11-05
      • 2010-09-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多