php - 区分 flash 请求和来自浏览器地址栏的请求,,

标签 php javascript flash

你好,我正在尝试阻止下载 mp3 歌曲,所以我想问问你们,是否可以区分 flash 请求和普通的 http 请求,我已经检查了 $_SERVER 变量但找不到任何区别,应该怎么办我做? 请提供任何解决方案,

最佳答案

我将描述一种实现您想要的东西的方法,它不简单但也不太复杂。也不确定它是最好的,但它应该有效。

第一步:不要直接链接到 mp3 文件(例如/MySongs/song.mp3),而是将文件放在网站根文件夹之外,并让页面在 URL 上获取所需的文件并以正确的内容类型和所有内容作为结果发送文件的内容,例如GetSong.php?songname=song3

完成此操作后,您就可以更好地控制文件。

第二步:在flash参数中,将/MySongs/song.mp3改成上面的。确保它正常工作。请注意,这仍然没有解决任何问题。

第三步:每当用户向包含抓取歌曲的 flash 的页面发出请求时,为 Session 变量(或 PHP 中的等效变量)分配请求的确切时间戳。在这里,我依赖于 flash 将在同一瞬间发送请求这一事实。

最后一步:在 GetSong.php 中检查上面的 Session 变量,并且仅当当前时间与 Session 中的时间戳完全匹配时才发送文件,可能允许毫秒余量。

破解它工作原理的聪明用户可以绕过它,但它应该让大多数试图获取歌曲的普通人望而却步,即使他们正在使用工具来查看 Flash 是如何请求歌曲的。

关于php - 区分 flash 请求和来自浏览器地址栏的请求,,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4365815/

相关文章:

php - Angular/Laravel - 从 mysql 数据库输出 json 数据

php - 在 HTML 中搜索和替换单词

php - Laravel Eloquent : merge model with Input

javascript - 精细 uploader : Thumbnails on the fly clientside

java - 我可以将 .swf 文件转换为图像格式吗?

flash - 不间断连字符比常规连字符长

php - 如何在 PHP 中解析具有动态名称的变量?

javascript - React CRUD 操作始终使用状态

javascript - 创建带有嵌套循环的追逐盒游戏区域,二维数组仅输出 1 行方 block

actionscript-3 - ActionScript 3.0 中没有图层概念?!那么 Flash IDE 层会发生什么变化呢?