如何拒绝直接访问网站文件,但通过包含'file.php'允许网站文件相互访问?

时间:2018-07-20 20:17:17

标签: php

如果外部用户想要使用url打开文件但如何通过在php文件中包含“ file.php”来允许网站文件相互访问,如何拒绝直接访问网站文件。

我有一个.htaccess文件。我可以用这个文件吗?

2 个答案:

答案 0 :(得分:2)

您可以通过在Webroot之外放置PHP文件来实现此目的。您实际需要访问的脚本必须位于您的Webroot中或以下。这些天,您通常会看到具有以下结构的PHP项目:

/projectname
            /app
            /src
            /web

使用composer进行依赖项/组件库管理是当今的最新技术,如果您正在使用它,它将创建其他目录(例如vendor)。

因此,您的前端控制器或其他可通过Web访问的脚本进入了projectname/web,这就是您将 webroot 设置为的方式。

您的其他脚本进入/ projectname / src。

您的include / require语句需要一个文件系统路径,因此您可以通过相对寻址或使用完整路径来引用它们。

通常,人们会使用Bootstrap包含或使用前端控制器(所有内容都通过index.php进行设置)来设置包含路径。使用组件库,您还希望实例化类加载器以解析您在项目中可能使用的任何库。

强烈建议再次使用composer,它将为您生成类加载器,然后只需确保将其包含在内即可。

答案 1 :(得分:0)

此.htaccess文件仅允许用户打开index.php。尝试访问任何其他文件将导致403错误。

拒绝订单,允许 全部拒绝

<Files "index.php">
    Allow from all
</Files>

如果您还想对某些文件使用身份验证,则只需在示例末尾添加当前文件中的内容即可。