.htaccess 阻止直接访问Web服务器上的文件,但使其可从网页访问

h5qlskok  于 2023-10-23  发布在  其他
关注(0)|答案(1)|浏览(165)

在我的主页上,我使用以下代码:

<audio><source src="/files/audio/x.mp3" type="audio/mpeg"></audio>

我希望我的主页显示音频播放器,但当有人进入网址(https://www.website.com/files/audio/x.mp3)的用户应该被阻止打开文件。
我发现了几个“解决方案”使用.htaccess和一个单独的php文件进行检查,但没有一个为我工作(或者我做错了什么.)
有人能帮我吗?
我试图通过. htaccess添加重定向。该文件被阻止从直接URL查看,但也没有显示在主页上的音频播放器中...

klr1opcd

klr1opcd1#

备注

这是非常轻的安全性。.任何人谁想要的文件可以只是欺骗的URL在头部,并很容易地访问您的文件..这只是一种方式来保持诚实的人诚实.它真的不是一个彻底的安全解决方案“保护”您的文件.如果你真的想这样做,你应该有某种身份验证,用户登录查看您的内容.
那就是说...
最简单的方法就是通过.htaccess。创建一个403(未授权)页面..这里我们将在根目录中将其命名为403.html。然后将此htaccess放入audio目录。A还添加了一个小块,允许您根据文件类型进行过滤。
这将检查您的域的wwwnon-www版本。
需要注意的是,DenyAllow之前。这允许我们拒绝所有,然后根据文件检查和加密器检查允许。

ErrorDocument 403 /403.html
SetEnv deny=0
SetEnvIf Referer "^https://yourdomain\.com/" deny=1
SetEnvIf Referer "^https://www\.yourdomain\.com/" deny=1

<FilesMatch "\.(mp3|mp4|mpg|jpg|gif)$">
   Order Deny,Allow
   Deny from env=deny
</FilesMatch>

相关问题