我是SophosLabs Intelix的新手。我正在尝试在我的ASP.Net应用程序(webforms/MVC(中构建一个示例,我想在其中对用户上传的文件运行防病毒扫描。如果上传的文件是干净的,我想把它上传到服务器,否则我想取消操作。我想专门使用SophosLabs Intelix来实现该功能。如果有人能指导我了解这个功能,那就太好了。如果能提供C#中的代码示例,我们将不胜感激。提前感谢您的帮助。
样品:
if(file.HasFile)
{
//run an antivirus scan
//result
if(result == NoThreat){
//Uploaded Successfully
}
else{
//File contains a virus. Upload failed!
}
}
else{
//Please select a file to upload!
}
我建议从OAUTH 2身份验证请求的实现开始。您可以在这里找到一些想法:如何在C#中获得OAuth 2.0身份验证令牌
一旦你有了access_token,你就可以使用if for/reports/?sha256=。。。查询它可能会立即返回报告。如果它没有返回任何数据(404(,则该请求是空闲的/"用于分析。这可能需要几秒/分钟的时间,在此期间,只要您得到报告,就应该从/reports/{job_id}端点轮询报告。
如果您无法等待几分钟的决策数据,您也可以使用立即返回的文件哈希查找API。它可能会给出30..69之间的信誉分数,因此无法决定文件的危险程度,但在这种情况下,您仍然可以对其进行静态或动态分析。