我在 Windows 平台上使用 GoDaddy 网络托管计划。这不是我的选择——它与使用 ASP.NET 的实际站点的不同部分有关(也不是我的选择)。
我有一个 SQL 数据库,其中包含一些非敏感客户信息的条目。这方面的主键是一个 AutoIncrement 整数,我有一系列与每个整数匹配的 PDF 文件(例如 555.pdf、7891.pdf 等)。
我的目标是限制对这些文件的直接访问,我希望用户必须首先通过搜索和登录过程 (PHP)。最初我计划将文件放在 PUBLIC_HTML 文件夹上方,但 GoDaddy 拒绝在没有专用服务器的情况下为我提供 root 访问权限(他们每月 20 美元)。
接下来我研究的是 HTACCESS。我打算通过只允许访问服务器的 IP 地址(或 localhost/127.0.0.1)来限制对文件的访问,仅限 PHP 脚本。不幸的是,这不起作用,因为 GoDaddy 不在其 Windows 服务器上运行 Apache。
我可以将文件放入数据库中的 BLOB 中,但是当我需要快速使用它们时会变得非常混乱(而且我在使用这种方法时遇到了一些问题)。
有什么建议可以限制对文件的访问仅限于 PHP 脚本 (readfile())?