我有一个网站,网站上的一些文件夹包含图像和文件,如 .pdf 、 .doc 和 .docx 。用户可以轻松地在 url 中键入地址来获取文件或显示照片
http://site/folder1/img/pic1.jpg
然后繁荣..他可以看到图像或只是下载文件
我的问题是:如何防止这种行为,如何保证文件的安全访问。
有什么建议么
更新以澄清我的想法
我不希望任何正在浏览网站的用户仅通过写入文件的 URL 即可正常访问这些文件。这些文件是 CV 文件,它们由用户上传到我们在公司外部托管的服务器上的特定文件夹中。这些文件只能由人力资源人员通过特殊系统查看。这就是我们想要的场景。我不想要一个只想查看已上传到此文件夹的文件的网络极客,以便轻松地将它们下载到他/她的计算机上并查看它们或在互联网上发布它们。我希望你明白我的想法
为了提高文件的安全性,您可以将它们放在webroot之外的目录中,然后通过脚本将它们流式传输到您的网页。最重要的是,流式传输它们的脚本必须位于访问受控的页面上。您可以使用 .htaccess,但我更喜欢更灵活的登录系统。
您可以将上传的文件存储到 Web 应用程序外部的目录中,这样就无法通过 URL 直接访问它;这将确保 Web 服务器不会通过请求的 URL 提供这些文件。
当您必须提供这些文件时,请确保请求该文件的用户确实可以访问它。换句话说,检查用户是否有权查看文件 - 您可能想要授权上传文件的原始用户和 HR 用户访问文件。
由于 Web 服务器无法直接访问这些文件,因此无法为它们提供服务,因此您必须使用您选择的语言(PHP/ASP/JSP 等)编写服务器端脚本,因为您没有指明任何) 将在授权检查后检索文件并将其内容提供给用户。
您可以通过检查 HTTP Referrer标头来检查链接是否来自您的站点。请注意,可以伪造引荐来源网址,但如果您只是在寻找一种简单的方法来吸引大多数人,这确实有效。