如何使文件仅供 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
我有一个 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