Hébergements Web - Depuis aujourd'hui Imagick bloque : operation not allowed by the security policy PDF
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
Frage

Depuis aujourd'hui Imagick bloque : operation not allowed by the security policy PDF

Von
Jean-MichelB27
Erstellungsdatum 2025-12-14 19:50:38 in Hébergements Web

Bonjour la compagnie


Depuis aujourd'hui une fonction qui marchait encore ce matin ne fonctionne plus : 

Erreur " Uncaught ImagickException: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/413 "

Il s'agit d'un script tout bête qui génère la vignette d'un pdf.

 

error_reporting(E_ALL);
ini_set("display_errors", 1);

    function genPdfThumbnail($source, $target)
    {
        //$source = realpath($source);
        $target = dirname($source).DIRECTORY_SEPARATOR.$target;
        $im     = new Imagick($source."[1]"); // 0-first page, 1-second page
        $im->setImageColorspace(255); // prevent image colors from inverting
        $im->setimageformat("jpeg");
        $im->thumbnailimage(160, 120); // width and height
        $im->writeimage($target);
        $im->clear();
        $im->destroy();
    }
    
    genPdfThumbnail('test.pdf','test.jpg'); 

 

Ceci sur un mutualisé, cluster100, PHP 8.5, 2212.
Imagemagick est actif, j'ai vérifié le phpinfo().
J'ai aussi essayé avec PHP 7.4, et PHP 8.4 stables production.

Toujours cette erreur, avec génération d'un fichier à 0o.

Là où ça devient bizarre : 

J'ai fait un essai sur un autre de mes sites, PHP 5.6, cluster128, filer 942.
Là ça fonctionne.

Bien sur à chaque fois j'ai les mêmes fichiers test.php et test.pdf, mis au même endroit : www

Une idée de la façon de résoudre ?
D'autres essais à tenter ?...

Merci pour vos lumières...

Jean-Michel

 

 


5 Antworten ( Latest reply on 2025-12-15 09:19:54 Von
Jean-MichelB27
)

Je n'arrive pas à  modifier mon message. 
Voici donc : 

 

J'ai passé mon hébergement à PHP 5.6 : cette fonction Imagick fonctionne.

  • Une idée de la façon de résoudre le problème tout en utilisant une version de PHP acceptable, c'est-à-dire au moins encore maintenue ?
  • Pourquoi en PHP 8 ça fonctionnait jusqu'à maintenant ?


Merci pour vos lumières...

Jean-Michel

A mon avis c'est une sécurité supplémentaire qui a été implémenté sur ton cluster (ce paramètre serveur se trouve dans /etc/ImageMagick-VERSION).

Le fait qu'un autre cluster n'ai pas le même comportement peut être normal (déploiement progressif après retours) ou alors c'est une question de version PHP.

Tu devrais faire un ticket et mettre son n° ici.
Autre solution, trouver une solution externe (api saas) qui fait ça.

Merci pour cette piste.

J'ouvre un ticket.

Mais si OVH déploie de nouvelles mesures de sécurité, va savoir s'ils vont vouloir faire des exceptions...
Ou c'est par défaut, et ils débloquent à la demande ?...

A suivre donc, avec le ticket.

Bonne journée

(Toujours moi avec mon autre profil)

Ticket ouvert à l'instant : CS13693411 

En fait le comportement est le même sur tous les clusters.
Mon autre hébergement sur lequel Imagick fonctionne est en PHP 5.6

Donc ça marche en 5.6 sur tous les hébergements que j'ai essayés,
et sur aucun PHP >=7

A suivre...

Bonjour,
Avez-vous un numéro de ticket support (pour avoir le nom de votre hébergement et creuser le sujet) ?
Cordialement
Victor

Bonjour,

Oui, CS13693411 (voir message qui précède le votre)

Merci !
Cordialement
JM