用户直接访问php文件时如何使页面空白?
Posted
技术标签:
【中文标题】用户直接访问php文件时如何使页面空白?【英文标题】:How to make page blank when user access php file directly? 【发布时间】: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(); 【参考方案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 文件中拒绝对该目录的访问
【讨论】:
以上是关于用户直接访问php文件时如何使页面空白?的主要内容,如果未能解决你的问题,请参考以下文章