php - 拒绝使用 php 直接下载文件

标签 php .htaccess

我的服务器上的下载目录中有 .doc.zip 文件。 谁访问我的网站页面 (download-file.php) 只有那些用户应该能够下载这些文件,其他人不应该。

我正在努力实现上述目标,但运气不好...

我仍然可以在浏览器中输入直接文件地址 (http://example.com/sample.doc) 并且我可以下载我不想要的文件..甚至有人否则在任何网站上提供指向上述文件的链接,那么也不应该下载。

任何人都可以分享一些想法..我应该如何实现这一目标。

提前谢谢你。

最佳答案

在文档根目录的 htaccess 文件中,您可以包含这些规则:

RewriteEngine On
# you can add whatever extensions you want routed to your php script
RewriteCond %{REQUEST_URI} \.(doc|zip|pdf)$ [NC]
RewriteRule ^(.*)$ /download-file.php?filename=$1 [L]

然后在您的 download-file.php 中,您可以显示任何您需要显示的内容和下载链接,您的 php 脚本可以使用 php's readfile() (see link for examples) 立即提供该文件

关于php - 拒绝使用 php 直接下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14024877/

相关文章:

php - 工作日和周末价格不同

PHP:将远程文件写入目录,无需 chmod 777

regex - 我的URL重写规则中出现500个内部服务器错误

javascript - 如何完善地址栏 php、.htaccess 或 javascript 中的 url

php - MySQL 查询中的逗号

javascript - Angular 将参数传递给 Laravel 进行编辑

css - htaccess - 仅重写图像/css/js 的 url

python - Django 不使用 fastcgi 提供管理静态文件

php - htaccess 文件 : Force going to https instead of http except for specific pages

php - 将 MySQL 查询转换为 Symfony Doctrine