Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在LAMP环境中拒绝/限制对特定文件类型的访问?_Php_Apache_.htaccess_Lamp - Fatal编程技术网

Php 如何在LAMP环境中拒绝/限制对特定文件类型的访问?

Php 如何在LAMP环境中拒绝/限制对特定文件类型的访问?,php,apache,.htaccess,lamp,Php,Apache,.htaccess,Lamp,我有一个页面,用户可以在其中收听一些歌曲,这些歌曲是用JavaScript播放的,因此如果你查看页面源代码,你会看到歌曲的完整路径,用户可以直接下载歌曲 除了我页面上访问该文件的JavaScript代码之外,我如何拒绝所有试图访问该文件的人访问这些歌曲(.mp3)?由于JavaScript是在客户端上执行的,您需要它才能下载mp3,因此您的客户端在其浏览器下载缓存文件夹中基本上已经有了mp3 您最好对JavaScript进行加密或随后动态加载。尽管如此,如果客户对MP3的工作原理有所了解,他仍然

我有一个页面,用户可以在其中收听一些歌曲,这些歌曲是用JavaScript播放的,因此如果你查看页面源代码,你会看到歌曲的完整路径,用户可以直接下载歌曲


除了我页面上访问该文件的JavaScript代码之外,我如何拒绝所有试图访问该文件的人访问这些歌曲(.mp3)?

由于JavaScript是在客户端上执行的,您需要它才能下载mp3,因此您的客户端在其浏览器下载缓存文件夹中基本上已经有了mp3

您最好对JavaScript进行加密或随后动态加载。尽管如此,如果客户对MP3的工作原理有所了解,他仍然会找到MP3

你唯一的选择是为浏览器提供一个新插件,用于播放你以某种方式加密的文件


如果您拒绝访问
*.mp3
文件,您的JavaScript也将无法播放该文件。

您可以尝试使用HTTP\u REFERER或HTTP\u USER\u AGENT之类的HTTP字段:JS可以请求mp3说些什么,而服务器只有在拥有该信息时才会提供音乐。最终用户仍然可以很容易地愚弄系统,因为他可以从JS中提取这些信息,但这会让他更加恼火。再说一次,你永远不能让用户无法获取文件:如果文件在他的电脑上播放,他可以获取。如果您真的允许用户下载文件(如果他愿意),或者将文件存储在web根目录之外,并编写服务器端实用程序通过ajax请求获取并返回mp3,那么对每个人来说都会更容易。还可以设置较低的权限,即chmod 555*.mp3