【问题标题】:How do I make a file accessible to PHP only?如何使文件只能由 PHP 访问?
【发布时间】:2020-12-06 11:35:12
【问题描述】:

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

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

接下来我在这个网站上查看了两个问题,但没有一个能回答我的问题。

【问题讨论】:

  • 您是否想过将信息放入数据库中,除非通过应用程序,否则用户无法访问。
  • 您不必将数据库文件放在可公开访问的目录中。您可以将其移到文档根目录之外。

标签: php .htaccess access-control


【解决方案1】:

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

在 Apache 中:

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

在 Nginx 中:

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

【讨论】:

  • 在 Nginx 中你会使用 internal 指令
【解决方案2】:

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

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

URL重写不会影响直接处理文件系统结构的PHP包含/要求或file_get_contents

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-26
    • 2012-05-01
    • 1970-01-01
    • 2011-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-12
    相关资源
    最近更新 更多