验证上传的文件的大小和病毒

Ami*_*pta 4 php wordpress file-upload virus-scanning

我想方便用户在我的WordPress博客上从前端上传个人资料图片.我找到了一个插件"ad local avatar",它可以帮助我(我直到现在还没试过).

但我担心如果用户上传一个非常大的文件或病毒感染的文件会发生什么.如何在WordPress(或PHP)中执行以下操作:

  1. 保存到服务器之前检查文件大小.(正在上传时检查文件大小)
  2. 扫描文件内容

mar*_*rio 8

  1. 保存到服务器之前检查文件大小.(正在上传时检查文件大小)

当PHP解码POST请求时,PHP正在检查最大文件大小.它是在php.ini中设置的upload_max_filesize.通常大约10MB左右.

但您可以通过简单的测试轻松设置特定于应用程序的最大文件大小:

if ($_FILES["image"]["size"] >= 500000) {
Run Code Online (Sandbox Code Playgroud)

然后相应地做出反应并打印错误消息.对于个人资料图片和头像,500K应该足够了.

  1. 扫描文件内容

您需要在服务器上安装病毒扫描程序.有各种各样的可用.由于它是开源的,许多Unix/Linux服务器可能都有clamav.它可以像PHP一样使用:

exec("clamscan '$filename'", $output, $result);

if ($result === 0) {
     // everything ok
}
Run Code Online (Sandbox Code Playgroud)

输出状态$result1针对病毒或2其他错误.