Recherchez des virus
antivrus
POST https://tesseractor.com/api/v1/antivirus?login=&password=
login | Votre code d'identification. |
---|---|
password | Votre mot de passe. |
multipart/form-data | |
file | Contenu du PDF en binaire. |
$ curl -D - -X POST "https://tesseractor.com/api/v1/antivirus?login=abcdef&password=ABCDEF" -F "file=@file.pdf"
NOTE : Le service n'accepte de rechercher des virus que dans un PDF.
Téléchargez le code des fonctions sendpost
et file_mime_type
de la librairie iZend.
Copiez les fichiers dans l'espace de votre application.
NOTE : Reportez-vous à la page Appelez l'API du service pour une description des fonctions sendpost
et file_mime_type
.
Ajoutez le fichier antivirus.php avec le contenu suivant :
- require_once 'sendhttp.php';
- require_once 'filemimetype.php';
Charge le code des fonctions sendpost
et file_mime_type
.
- function antivirus($login, $password, $file) {
Définit la fonction antivirus
.
$login
est votre code d'identification. $password
est votre mot de passe.
$file
est le chemin d'accès du fichier PDF à analyser.
- $curl = 'https://tesseractor.com/api/v1/antivirus' . '?' . 'login=' . urlencode($login) . '&' . 'password=' . urlencode($password);
Met $curl
à l'URL de l'action antivirus avec le code d'identification et le mot de passe du compte de l'utilisateur.
$login
et $password
doivent être échappés.
- $files=array('file' => array('name' => basename($file), 'tmp_name' => $file, 'type' => file_mime_type($file)));
Prépare la liste des fichiers attachés au POST : file
- le PDF à analyser avec le nom du fichier, le chemin d'accès au fichier et son type MIME.
- $response=sendpost($curl, false, $files);
Envoie la requête HTTP avec sendpost
.
Les arguments login
et password
sont déjà dans $curl
.
- if (!$response or $response[0] != 200) {
- return false;
- }
Si $response
vaut false
, le serveur est inaccessible.
Si $response[0]
ne contient pas le code de retour HTTP 200 Ok, une erreur d'exécution s'est produite.
En cas d'erreur, antivirus
retourne false.
- $r=json_decode($response[2], true);
Décode les données retournées en JSON.
- if ($r['status'] == 'success') {
- return true;
- }
Retourne true
si aucun virus n'a été détecté dans le PDF.
- if ($r['status'] == 'fail') {
- return $r['data']['names'];
- }
Retourne un tableau des noms des virus qui ont été détectés si le PDF est infecté.
- return false;
- }
Retourne false
en cas d'erreur.
EXEMPLE
Testez le programme avec les fichiers fournis par l'EICAR :
En supposant que vous avez sauvé les fichiers sendhttp.php, filemimetype.php et antivirus.php dans le répertoire courant, lancez PHP en mode interactif, chargez la fonction antivirus
et appelez-la avec votre code d'identification et votre mot de passe, le chemin d'accès à un fichier PDF :
$ php -a
php > require_once 'antivirus.php';
php > print_r(antivirus('abcdef', 'ABCDEF', 'eicar.pdf'));
Array
(
[0] => Pdf.Dropper.Agent-6299277-0
)
php > quit
Le document est infecté par le virus Pdf.Dropper.Agent-6299277-0.
VOIR AUSSI
Appelez l'API du service, Validez un PDF/A, Générez un PDF/A
Commentaires
Pour ajouter un commentaire, cliquez ici.