不显示我网站的非用户的pdf文件

时间:2013-08-17 14:21:34

标签: php

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

1 个答案:

答案 0 :(得分:0)

你可以试试这个

  1. 在Apache HTTP Server中启用mod_rewrite模块。
  2. .htaccess文件中,将请求任何PDF文件的URL重写为PHP文件。
  3. 创建一个将对用户进行身份验证的PHP文件。
  4. 在PHP文件中,如果用户已通过身份验证,请将所需的PHP文件作为下载提供。 PDF文件名可以在$_GET['file']
  5. 中找到

    用于下载文件的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]
    

    我在这里做了一些假设。您可以根据需要进行修改。