如何使文件仅供 PHP 访问?

How do I make a file accessible to PHP only?

我有一个 PHP 脚本应该抓取数据库,但我不希望公开访问该数据库。我该怎么做才能使文件无法像 https://example.com/database.file 那样查看,但 PHP 文件仍然可以抓取它。

上次我尝试禁用对文件的访问,但 PHP 文件在我每次尝试访问它时都返回 403。

接下来我在这个网站上查看了两个问题,但是none可以回答我的问题。

您可以为apache/nginx中的文件设置重定向条件以拒绝外部使用。

在 Apache 中:

<FilesMatch "^(database\.file)$">
  Require all denied
</FilesMatch>

在 Nginx 中:

location = /database.file {
        deny all;
        return 404;
}

如果你想隐藏你的文件,IMO 最简单的方法是通过 URL 重写重定向到你的 404 文件(文件未找到页面)。

类似于: RewriteRule "^folder/myFile\.php$" "404.html" [QSA,L]

URL重写不会影响PHPincludes/requires或直接处理文件系统结构的file_get_contents