0

我有一个使用 PHP 开发的网站,它的用户可以使用他们的用户名和密码访问该网站。. 我的主机中有一个目录,在这个目录中我保存了我的 PDF 文件。我希望只有我的成员才能访问这些 PDF 文件。但是,由于路径是已知的,我如何强制非用户不要下载 pdfs 。有没有解决办法。例如,如果在 www.mysite.com/pdfs/sample.pdf 之类的浏览器中输入了路径,并且如果此人不是该站点的成员,我想将他/她引导到注册页面。有没有办法在 php 中做到这一点?

4

1 回答 1

0

你可以试试这个

  1. mod_rewrite在 Apache HTTP 服务器中启用模块。
  2. .htaccess文件中,将请求任何 PDF 文件的 URL 重写为您的 PHP 文件。
  3. 创建一个 PHP 文件,该文件将对用户进行身份验证。
  4. 在 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 回答