我有一个使用 PHP 开发的网站,它的用户可以使用他们的用户名和密码访问该网站。. 我的主机中有一个目录,在这个目录中我保存了我的 PDF 文件。我希望只有我的成员才能访问这些 PDF 文件。但是,由于路径是已知的,我如何强制非用户不要下载 pdfs 。有没有解决办法。例如,如果在 www.mysite.com/pdfs/sample.pdf 之类的浏览器中输入了路径,并且如果此人不是该站点的成员,我想将他/她引导到注册页面。有没有办法在 php 中做到这一点?
问问题
37 次
1 回答
0
你可以试试这个
mod_rewrite
在 Apache HTTP 服务器中启用模块。- 在
.htaccess
文件中,将请求任何 PDF 文件的 URL 重写为您的 PHP 文件。 - 创建一个 PHP 文件,该文件将对用户进行身份验证。
- 在 PHP 文件中,如果用户已通过身份验证,则提供所需的 PHP 文件作为下载。PDF 文件名可以在
$_GET['file']
.
将文件作为下载提供的 PHP 代码
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="download.pdf"');
readfile("{$_GET['file']}.pdf");
.htaccess
文件中的重写规则
RewriteRule ^(.+).pdf$ /user_pdf_download.php?file=$1.pdf [L,NC,QSA]
在这里,我做了一些假设。您可以根据需要进行修改。
于 2013-08-17T16:36:16.070 回答