Iso*_*Iso 7 php apache connection upload
我目前正在一个用户可以上传文件的网站上工作.如何防止上传大文件?当时,没有选项(PHP post_max_size和upload_max_filesize)有用:文件完全上传.我只是想用大文件关闭连接(通过Content-Length事先检查HTTP标头,并通过检查文件上传时).是否有Apache指令或PHP配置密钥?
感谢您的时间!
编辑:添加了Apache conf(CentOS默认).
EDIT2:还添加了PHP conf(CentOS默认).
EDIT3:当给定一个太大的文件时,似乎PHP关闭了管道.尽管如此,Apache仍允许转移直到它结束.
好的。
所以您面临的主要问题是 Apache 指令LimitRequestBody或LimitXMLRequestBody在上传完成后应用。似乎 apache 在检查大小之前正在等待临时文件夹中的完整文件。
因此,您需要在检测到上传过大后立即切断连接。曾几何时,mod_throttle 是一个可以做到这一点的模块。检查此Mod_throttle servfault 问题的替代方案,您可以获得可能满足您需求的带宽控制模块列表。
例如, mod_bwshare能够限制每个客户端 IP 的带宽,但这不是每个请求的 per_IP 限制。还有mod_quos,处理下载内容的很多限制,但我找不到很多上传管理的内容(可能只是关闭早期慢速上传)。另请参阅有关限制上传的答案。
因此,您还可以检查操作系统级别限制(在 TCP 堆栈上)或高级防火墙功能(询问 servfault)。
您还可以使用客户端限制工具,例如隐藏表单值或 js 上传器设置,但与客户端使用的任何工具一样,就安全性而言,您无法避免有人更改客户端限制。
| 归档时间: |
|
| 查看次数: |
2877 次 |
| 最近记录: |