没有它的共享主机服务的mod_xsendfile替代方案

时间:2009-12-27 11:37:54

标签: ruby-on-rails apache download denial-of-service

我正在尝试在我正在开发的rails应用程序中记录.pdfs和.zips(5-25MB)的下载统计信息,我只是碰到了一堵砖墙;我发现我们的共享托管服务提供商不支持mod_xsendfilesources我已经读到,如果没有这个,多次下载可能会导致DoS问题 - 我肯定会试图避免这种情况。我想知道这种通过rails提供文件的方法是否还有其他选择?

1 个答案:

答案 0 :(得分:0)

那么,你要存储的文件有多敏感?

如果您在app / public目录下的某个位置托管了这些文件,那么在用户点击某种控制器操作后,您可以将元标记或javascript重定向到这些文件的面向公众的URL,这将更新您的下载统计信息

在这种情况下,您的用户可能需要在浏览器开始下载文件之前获得其中一个“您的下载应该在几分钟内开始”页面。

在这种情况下,您的Rails应用程序将不会将文件流式传输出来,您的Web服务器将会提供与xsendfile相同的效果。另一方面,如果您需要控制对这些可下载文件的访问,这将无法正常工作。