2013-02-19 80 views
0

由于segurity问题,我阻止了我的客户端网站的目录。 在这些目录中有一些pdf文件,用户可以读取登录到应用程序。 用这种方式当他们点击pdf下载时,不会出现该文件的URL。PHP读取受Apache保护的文件

顺便说一句黑客可以找到它并阅读这些文件,所以我阻止了目录。

现在我需要让我的用户阅读pdf。 我该怎么做在PHP? 我的意思是,只有经过身份验证的用户才能阅读这些文件。

非常感谢!

+0

PHP可以直接访问文件系统,并且可以绕过任何/所有的Apache安全限制(mod_security chroot jail除外)。 – 2013-02-19 18:18:13

回答

0

由于PHP在Apache服务器上运行,所以它作为服务器用户(例如www-data)“起作用”,如果www-data用户有权访问它,它将能够访问该目录。任何其他授权检查都必须通过身份验证和授权工作流程在PHP中完成。

+0

这个想法是:去www.mysite.com/docs/mypdf.pdf没有人可以下载文件。在Apache中,我将/ docs /目录重定向到主页。但是一个登录的用户,扔掉应用程序,可以列出他的pdf并下载它们,而不知道路径(www.mysite.com/docs/mypdf.pdf) – JackLipari 2013-02-19 18:19:27

+0

是的,这是关键。您将在文件系统上有一个目录,Apache可以访问该目录以提供这些文件。其他一切,如软件用户的设置权限应该在您的软件中完成。因此,您需要保留有关文件访问权限的元数据。一个数据库。 – Benny 2013-02-19 18:21:18

+0

我该如何告诉Apache用户可以下载文件? – JackLipari 2013-02-19 18:27:59