gpt4 book ai didi

php - nginx 在提供静态文件时调用外部脚本(传递请求信息)?

转载 作者:行者123 更新时间:2023-12-04 20:29:38 24 4
gpt4 key购买 nike

我正在托管播客录音的服务器上设置下载日志记录。我们只想轻松地将下载的带有时间戳和请求 IP 地址的文件登录到 MySQL。

由于这些文件平均至少 150MB,我认为使用 readfile() 将是一个坏主意(不希望 PHP 在文件下载的整个时间都运行),而是必须将文件存储在与 PHP 不同的位置登录后将它们重定向到。

问题当然是,一旦他们被重定向,他们可能会复制该重定向链接并使用它,无意中绕过下载日志记录。我想避免这种情况。

我认为我最好的选择是将 nginx 配置为在提供文件之前调用辅助脚本,将请求数据传递给它进行处理。有没有办法做到这一点?

最佳答案

是的,您可以使用 http://wiki.nginx.org/HttpLuaModule

location /file {
content_by_lua 'os.execute("php cli.php ',ngx.var.remote_addr,'")';
}

不确定传递 IP 的语法,但像这样应该可以工作。您还可以解析日志文件

关于php - nginx 在提供静态文件时调用外部脚本(传递请求信息)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27751668/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com