控制对Apache中大文件的访问

时间:2011-01-03 23:34:02

标签: apache authentication cgi cgi-bin

我希望通过使用签名网址来控制对一些大文件的访问(我们在这里说的很多GB)。这些文件当前受LDAP基本身份验证(mod_auth_ldap)的限制,但我需要更改此项以验证签名(作为URL中的查询参数传递)。

基本上,我只需要运行一个脚本来验证签名,并允许请求继续进行,就像验证成功一样。我最初的想法只是使用一个简单的CGI脚本,但由于文件太大,我担心性能。所以,真的,这个问题(可能)更像是“通过Apache从CGI脚本流式传输大型文件有什么性能影响吗?”......如果是这样,“有没有更好的方法来做到这一点(没有写专用验证模块)?“

如果这有任何意义,将非常感谢帮助:)

P.S。我不确定究竟要搜索什么(10分钟的谷歌搜索没有结果),所以我很可能会复制其他人的帖子。

2 个答案:

答案 0 :(得分:0)

查看apache中的加密cookie /会话 - 一种方法是在该目录上设置一个必须有效的会话限制 - 将没有有效的会话限制转发给cgi脚本;在那里验证 - 然后转发回实际下载。

这样apache可以使用它的普通sendfile()和其他优化。

但请记住,以简单的'execvp','exec cat'或类似内容结尾的shell脚本或perl脚本并不昂贵。

替代方案更基于uRL - 例如http://authmemcookie.sourceforge.net/

DW传递。

答案 1 :(得分:0)

我最后用CGI脚本解决了这个问题...因为我们需要能够支持不使用cookies(apt)的客户端,所以不能选择cookie。