浏览器更新后,服务器响应403错误

时间:2018-06-17 10:51:16

标签: .htaccess google-chrome mozilla http-status-code-403

我有一个播放音乐的网站。用户只能通过导航到检索音乐文件的服务器上的特定站点并通过音频html标签将其呈现给用户来收听歌曲。为了防止用户直接访问歌曲的地址,我在一年前实现了以下htaccess脚本:

Header set Access-Control-Allow-Origin "http://myexamplesite.000webhostapp.com/"

ErrorDocument 403 /error404.php
ErrorDocument 404 /error404.php
Options -Indexes

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(myexamplesite\.)?000webhostapp [NC] 
RewriteCond %{HTTP_REFERER} !^http://(myexamplesite\.)?000webhostapp.*$ [NC] 
RewriteRule \.(mp3|png|jpg)$ - [F]

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?(myexamplesite.000webhostapp.com)(/)?.*$      [NC]
RewriteRule .*.(.zip|.rar|.exe|.mp3|.pdf|.swf|.psd)$ http://myexamplesite.000webhostapp.com/error404.php [R,NC]

这个脚本一直运行良好,直到一周前,当chrome和mozilla更新时,从那时起我在chrome开发人员工具上看到了以下错误。 浏览器无法加载任何媒体,如上面脚本中所述的图像,文档和音乐文件。

enter image description here 当我删除脚本时问题得到解决,但通过这样做,用户可以轻松访问和热链接我的资源。

最令人困惑的部分是移动浏览器在桌面显示错误时没有任何问题。例如,更新的chrome和firefox移动浏览器可以使用所有这些资源正常访问网站,而不会在桌面浏览器上处理问题。

我已经测试了问题是否出现在各种计算机上并且仍然出现。 我相信问题出现在新更新的浏览器中,因为问题没有出现在老版本的mozilla firefox桌面浏览器(版本47)上。

是什么导致了这个问题?我怎么处理它?我需要一个不会覆盖htaccess脚本主要目的的解决方案;不允许直接访问和链接到敏感媒体(图像,pdf文档和mp3文件)。

0 个答案:

没有答案