当前位置: 首页 > 面试题库 >

PHP:检查文件是否直接加载而不是包含?

何晗昱
2023-03-14
问题内容

有没有一种方法可以防止用户查看文件,但仍将其用作PHP的另一个文件?


问题答案:

如果您使用

define('APP_RAN');

在包含它的文件中,然后放入

if(!defined('APP_RAN')){ die(); }

或者

defined('APP_RAN') or die();

(更容易阅读)

如果包含在其中,直接访问它们会死掉。

不过,最好将所有包含的文件放在DocumentRoot上方。

例如,如果您的索引页位于

/my/server/domain/public_html

您应该将包含的文件放入

/my/server/domain/


 类似资料:
  • 问题内容: 我正在尝试查看文件是否包含发送到页面的字符串。我不确定这段代码有什么问题: 问题答案: 简单得多: 回应有关内存使用的评论:

  • 问题内容: 有没有办法确保收到的文件中包含图像? 对扩展程序的测试对我来说并不十分安全,因为您可以上传一个并将其扩展名更改为所需的扩展名。 我也尝试使用,但是可能有一些更适合该特定问题的东西。 问题答案: 获取mimetype的本机方法: 对于PHP <5.3,请使用mime_content_type()对于PHP> = 5.3,请使用finfo_open()或mime_content_type(

  • 问题内容: 如果我这样做: 然后创建文件,并始终返回“文件存在”。是否可以不创建文件就检查文件是否存在? 编辑: 我忘了提到它处于for循环中。所以这是真实的东西: 问题答案: 实例化a时,您并没有在磁盘上创建任何东西,而只是构建了一个可以调用某些方法的对象,例如。 既好又便宜,不要试图避免这种实例化。 该实例只有两个字段: 这是构造函数: 如您所见,实例只是路径的封装。创建它以便进行调用是继续进

  • 我正在为vscode做一些扩展。在这个扩展中,我使用命令。为了让这个函数返回扩展名的值,我需要等待测试工作区被“加载”/“索引”,这样就可以处理JS文件并在其中导入。你还需要从工作区打开一个文件,这样它就可以开始“加载”。我想确定它是否在打开一个工作区后加载了它所需的所有内容,这样我就可以安全地触发命令。vscode是否有某种标志/事件指示工作区是否已完全加载?

  • 我有一个项目,关于从URL获取XML文件,将其删除,提取数据,然后进行处理。此外,我正在使用用户输入创建URL。但是我需要检查URL是否包含要刮取的XML文件。有什么办法吗?那么基本上如何检查URL是否包含XML文件呢?

  • 问题内容: 我如何检查Java安装中是否存在像javax.servlet。*这样的包? 问题答案: Java只能告诉您是否可以加载类。它不能告诉您是否存在软件包,因为没有加载软件包,只有类。 唯一的方法是尝试从该包中加载类。例如,对于javax.servlet。*,您可以执行以下操作: