- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
堆栈,
我想使用 clam 防病毒软件的 clamscan 工具扫描通过我的 php 上传脚本上传的每个文件。我想我已经写了一个很好的脚本,但我想通过你们运行它。
那么假设我发送到这个 php 上传脚本的文件名为“uploadedfile”,下面的代码是否有意义?
<?php
$safe_path = escapeshellarg('/tmp/' . $_FILES['uploadedfile']['tmp_name']);
$command = 'clamscan ' . $safe_path;
$out = '';
$int = -1;
exec($command, $out, $int);
if ($int == 0) {
// all good, code goes here uploads file as normal IE move to
permanent directory etc;
} else {
unlink('/tmp/' . $_FILES['uploadedfile']['tmp_name']);
header(Location: http://www.domain.com/uploadform.php?error=your-file-was-infected-pal);
}
?>
另外,clamscan 会发现 php shell 以及传统的好旧恶意软件吗?
谢谢!
我回答了我自己的问题,但没有正式这样做的声誉。这是答案:
对于后来者。我已经使用 EICAR 测试病毒文件 http://eicar.org/86-0-Intended-use.html 测试了这个脚本经过一些调整后,它就可以工作了。返回变量 $int 告诉您文件是否安全。如果 $int 为 0,则没有发现病毒,如果 $int 为 1,则发现有病毒。但是,我必须进行一些更改才能使脚本正常工作(我更新了 $safe_path 变量以使其正确),这是工作脚本:
<?php
$safe_path = escapeshellarg($_FILES['uploadedfile']['tmp_name']);
$command = 'clamscan ' . $safe_path;
$out = '';
$int = -1;
exec($command, $out, $int);
if ($int == 0) {
// all good, code goes here uploads file as normal IE move to
permanent directory etc;
} else {
//whatever you need to do if a virus is found.
}
?>
最佳答案
请注意,如果您的服务器运行 clamav 守护程序 (clamd),则可以使用 clamdscan 而不是建议的 clamscan,这种用法更快,因为使用的病毒签名已经由 clamd 加载。
关于php - 使用 PHP 对文件上传动态运行 ClamAV 的 clamscan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7648623/
堆栈, 我想使用 clam 防病毒软件的 clamscan 工具扫描通过我的 php 上传脚本上传的每个文件。我想我已经写了一个很好的脚本,但我想通过你们运行它。 那么假设我发送到这个 php 上传脚
在 ubuntu 18.04 aws ec2 实例上安装 clamscan clamav 后,我无法使用 ssh 登录我的 aws 服务器。我在该服务器上的网站都没有出现在浏览器上。我已经重新启动但没
我是一名优秀的程序员,十分优秀!