用户/机器人是否可以通过垃圾邮件执行mp3和浪费带宽?

时间:2010-04-07 04:30:29

标签: php security mp3

嘿伙计们,我目前通过将他们的文件位置引用到用户的flash mp3播放器来呈现我的mp3。用户/机器人是否有可能进入您的网站并以某种方式连续执行MP3并消耗带宽?如果是这样,你怎么能阻止这个? (我用php编程)。提前感谢任何建议。

4 个答案:

答案 0 :(得分:3)

我想如果flash播放器从你的服务器下载mp3,那么,有一种方法可以从你的服务器下载mp3文件。

这意味着,知道他们的URL,机器人(甚至真实用户)可以下载它们。

考虑到使用播放器收听音乐的人不应该每3分钟左右下载一个以上的mp3文件(好吧,一个不应该比音乐快^^),你可以进行一些检查,例如:

  • 不允许每N分钟下载超过X个mp3文件 - 比如3分钟内超过5个mp3文件很奇怪
  • 不允许以超过给定的费率下载(例如3MB /分钟可能比用户需要的更多)
  • 不能同时下载超过2或3个mp3文件(不太可能有人要并行收听几首歌曲^^)

答案 1 :(得分:2)

这是一个非常高级的答案,因为我不熟悉你正在做的事情的细节,但实际上没有任何东西阻止机器人不断地请求文件,如果它能以某种方式确定它在哪里存储在服务器上(url)。正如Ignacio建议的那样,你可以在swf源中做一些事情来确保它不会连续请求文件,但是如果他们可以在服务器上找到文件的位置,他们可以一起绕过swf。我建议的是,创建某种网关页面(在php中)进行某种检查,以查看客户端是否在过去的X分钟内请求了所请求的文件(可能是IP地址*)。如果检查没问题,那么php脚本可以处理到客户端的数据流,如果没有,那么它将拒绝该请求而不授予对数据的访问权限。也就是说,如果他们可以确定文件的实际位置,您仍然很容易受到攻击。您可能希望配置一些服务器规则,以便将所有以.mp3结尾的请求转发到网关文件,以防止直接访问。

*应该注意的是,如果您要实施某种速率检查,则需要非常小心如何执行此操作。仅IP就不够好,因为如果你有一堆用户在同一个NAT网关(例如公司)后面,如果事实上有20个唯一用户请求同一个文件,那么请求实际上只是来了从一个IP地址。理想情况下,您可以使用用户代理数据的某种组合以及IP地址或某些会话信息。

希望这有帮助!

答案 2 :(得分:1)

如果您的Flash播放器没有(合理地)在客户端缓存MP3,那么我会说是时候找到一个新播放器...

答案 3 :(得分:1)

是的,机器人很可能会这样做。

你如何防止它主要取决于你如何呈现数据,但你可能想要的是某种速率限制。例如,您可以拒绝来自同一IP地址的多个同时数据文件请求 - 或者至少将其限制为少量数据,请记住某些用户可能共享IP地址。