2011-01-18 24 views
9

Tôi đang làm việc trên một ứng dụng yêu cầu tải lên tệp và nó cũng yêu cầu để quét tệp có sẵn phần mềm diệt vi-rút trên máy chủ.Làm thế nào để quét tệp có chống vi-rút khi tải lên trong Java?

Tôi đã nghe APIS khả dụng từ Symantec cho máy chủ ứng dụng.

Tình huống là như thế, tôi cần triển khai ứng dụng tại các địa điểm khác nhau trong tương lai. Vì vậy, tôi đang suy nghĩ để đặt một tập tin cấu hình từ nơi tôi sẽ lấy sẵn Antivirus & đường dẫn của nó.

Tôi muốn sử dụng bất kỳ phần mềm diệt vi-rút nào có sẵn trên máy chủ và sau đó sử dụng dòng lệnh, tôi muốn chuyển tên tệp và trả về kết quả.

Tôi đang bối rối khi truyền tệp và truy xuất kết quả ngược lại.

Có thể không?

+0

Nói chung câu hỏi của bạn là: "có thể chạy dòng lệnh với thông số và lấy lại kết quả bằng java không?" Tôi có đúng không? – AlexR

+0

Bạn cũng có thể sử dụng API VirusTotal.com ... – Tobias

+0

Có lẽ tất cả các từ viết hoa có thể thu hút một chút chú ý, nhưng sự chú ý này sẽ kết hợp với thái độ tiêu cực như ... – peterh

Trả lời

7

Sử dụng đoạn mã sau.

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); 

Dòng Commnad sẽ là lựa chọn tốt hơn cho bạn. sau đó đọc tệp nhật ký để giải quyết vấn đề.

+0

Tôi đã sử dụng cách tiếp cận tương tự như vậy .. –

+0

Còn về llinux thì sao? – BigDong

5

Tôi chỉ googled lên và tìm thấy một bài viết thú vị có một cái nhìn tại here

Để thực hiện một tập tin quét virus trong Java, một gói phần mềm của bên thứ ba cần phải được sử dụng. Với mục đích của bài viết này, tôi sẽ sử dụng gói Symantec Scan Engine (SSE), đi kèm với các API Java. Gói này là một ứng dụng phục vụ như một máy chủ TCP/IP và có một giao diện lập trình và cho phép các ứng dụng Java kết hợp hỗ trợ cho các công nghệ quét nội dung. Đối với bài viết này, tôi đã sử dụng Symantec Scan Engine 5.1, có sẵn như là một cài đặt Unix hoặc Windows.

nhanh chóng tham khảo:

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."); 
     } 
    } 
} 

sau đó

catch (Exception ex) { 
    logger.error(ex); 
    if (ex instanceof VirusException) { 
     // do something here 
    } 
    else { 
     // there was some other error – handle it 
    } 
} 
+0

Xin chào JJ .. cảm ơn vì nó nhưng tôi không muốn sử dụng API 'Symantec' như được đề cập đến trên scanrio trong bài viết của tôi :) –

2

Sử dụng VirusTotal Công API thực hiện V2.0 trong java được viết bởi VIGHNESWAR RAO
sẵn tại http://virustotal.vighneswarrao.com
nó có nhiều tính năng phong phú để quét file, url, lĩnh vực, ipaddresses và để có được báo cáo chi tiết về quét.
với API này, các tệp của bạn sẽ được quét với 56 công cụ chống vi-rút. và tất cả các công cụ chống vi-rút đều chạy trên đám mây độc hại, đặc biệt bạn không cần phải chạy hoặc chạy bất kỳ công cụ chống vi-rút nào.
tính năng quan trọng của api này là nó có phương thức chấp nhận java.io.FileInputStream hoặc java.io.File làm đối số.
Tất cả các tính năng api được giải thích rõ ràng với các ví dụ.
sử dụng api này
bước 1: tạo tài khoản trong http://virustotal.com (VirusTotal, một công ty con của Google) và nhận được chìa khóa api (100% miễn phí)
bước 2: Quý khách tham http://virustotal.vighneswarrao.com và tải file jar Hóa Yêu Cầu
bước- 3: chỉ cần sử dụng các phương thức được API cung cấp.
bạn có thể sử dụng các ví dụ được cung cấp tại http://virustotal.vighneswarrao.com/examples.html

+1

Đây có phải là spam và trứng hay chỉ là spam? –

+0

virustotal là một công ty của google. hãy truy cập http://virustotal.com để nhận thông tin chi tiết mà không cần biết tất cả những điều này làm sao bạn có thể nói đó là spam. – BVR

Các vấn đề liên quan