首页 > 解决方案 > 如果直接针对文件,则限制对文件的访问

问题描述

我有一个这样的基本文件夹结构:

index.php
assets/
  docs/
    document.pdf
includes/
  script.php

如果有人试图直接获取它,我需要能够阻止对文档的访问,例如:www.domain.com/assets/docs/document.pdf但如果要从 index.php 页面链接,则允许访问。

有没有办法可以阻止这样的访问,或者有没有一种方法可以在页面上嵌入 pdf?如果它也可以通过它来完成,我愿意使用 PHP 或 jQuery。

我尝试过的一些方法是在 htaccess 中包含拒绝限制,但这显然完全阻止了它。

提前致谢。

标签: javascriptphp.htaccesssecurityrestriction

解决方案


您可以在 Apache 配置中直接使用 Referer 标头(一个assets/docs/.htaccess文件即可):

SetEnvIf Referer "domain\.com" is_local_referer
<FilesMatch "\.pdf$">
    Require env is_local_referer
</FilesMatch>

推荐阅读