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