アップロードされたファイルをスキャンしてウイルスを検出し、Spring 3MVCアプリでユーザーに適切なメッセージを表示する必要があります。
現在、Spring MVC 3を使用してファイルのアップロードを構成しています。ファイルがコントローラーに受信されたら、ウイルスの存在を確認する必要があります。ファイルがウイルスに感染している場合、アプリケーションはそのファイルを拒否し、ユーザーに特定のメッセージを表示する必要があります。
これをJavaSpringMVCアプリケーションに実装する方法に関するアイデア。私が使用している春のバージョンは3.2.4です。
この方向のヘルプ/ポインタをいただければ幸いです。
どうもありがとう。
まず、インストールしたウイルス対策ソフトウェアが提供するAPIの種類を確認する必要があります。
Java API(AVG APIなど)が提供されている場合は、次のように使用する必要があります。
public void scanFile(byte[] fileBytes, String fileName)
throws IOException, Exception {
if (scan) {
AVClient avc = new AVClient(avServer, avPort, avMode);
if (avc.scanfile(fileName, fileBytes) == -1) {
throw new VirusException("WARNING: A virus was detected in
your attachment: " + fileName + "<br>Please scan
your system with the latest antivirus software with
updated virus definitions and try again.");
}
}
}
インストールされているウイルス対策ソフトウェアによってJavaAPIが提供されていない場合でも、以下のようにコマンドラインを使用してJavaAPIを呼び出すことができます。
String[] commands = new String[5];
commands[0] = "cmd";
commands[1] = "/c";
commands[2] = "C:\\Program Files\\AVG\\AVG10\\avgscanx.exe";
commands[3] = "/scan=" + filename;
commands[4] = "/report=" + virusoutput;
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(commands);
参考までに興味深い記事があります:JEEアプリケーションでのアンチウイルスファイルスキャンの実装
これがお役に立てば幸いです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加