如果外部用户想要使用url打开文件但如何通过在php文件中包含“ file.php”来允许网站文件相互访问,如何拒绝直接访问网站文件。
我有一个.htaccess文件。我可以用这个文件吗?
答案 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>
如果您还想对某些文件使用身份验证,则只需在示例末尾添加当前文件中的内容即可。