我是新手系统管理员,
在我的网站上,用户下载了一个 50MB 的文件。我希望能够知道他们的下载是否已完成,以便我可以运行 bash 脚本。我在 LAMP 堆栈上,发送文件的 php 代码如下...
<?php
//download.php
//content type
header('Content-type: application/zip');
header('Content-Length: 46380748');
//open/save dialog box
header('Content-Disposition: attachment; filename="file.zip"');
//read from server and write to buffer
readfile('file.zip');
?>
我试过 netstat,但似乎没有任何效果。我看到了 tcp 连接,但无法计算出如何跟踪发送的总字节数并将其与文件大小进行比较。我读到 tshark 可能会奏效,但这似乎有点过头了。我是不是错过了一些基本的东西?这是我可以用 apache 监控的东西吗?我被难住了……
谢谢。
答案1
我认为你在这里走错了方向,在接口上添加字节并不是了解用户是否下载了特定文件的有效方法。即使你让它工作,你也总是会受到它是一种脆弱的黑客行为这一事实的阻碍。
您应该研究其他类型的会话跟踪来了解用户在做什么。