diff --git a/filtres/images_soyezcreateurs.php b/filtres/images_soyezcreateurs.php index 550eb6004f96c463efdec925e9f8445540b3819e..7739fd6c0c93366ae88c2cd99cd4190dac472f4e 100644 --- a/filtres/images_soyezcreateurs.php +++ b/filtres/images_soyezcreateurs.php @@ -22,8 +22,8 @@ function image_focus($img, $largeur, $hauteur, $position = 'center') { } $img = filtrer('image_recadre', $img, $largeur, $hauteur, $position, 'transparent'); } else { - // On commence par réduire à 2 fois la taille finale pour travailler sur de plus petites images - $img = filtrer('image_reduire', $img, $largeur*2, $hauteur*2, $position, 'transparent'); + // On commence par réduire pour travailler sur de plus petites images + $img = filtrer('image_reduire', $img, 3840, 0); $img = filtrer('image_graver', $img); $img = filtrer('image_recadre', $img, "$largeur:$hauteur", '-', 'focus', 'transparent'); $img = filtrer('image_graver', $img); diff --git a/tuile.html b/tuile.html index 07771acb46de70cd40d7c4c917cb41f7590f52d8..62cf57f588f7ca6b15bba7af9700266e46b344e8 100644 --- a/tuile.html +++ b/tuile.html @@ -1,14 +1,25 @@ -<?php -$filename="[(#ENV{logo}|image_focus{#ENV{width},#ENV{height}}|extraire_attribut{src}|supprimer_timestamp)]"; -$filename=preg_replace(',[?].*$,','',$filename); -if (exif_imagetype($filename) > 0) { - $size = getimagesize($filename); - $fp = fopen($filename, "rb"); - if ($size && $fp) { - header("Content-type: {$size['mime']}"); - fpassthru($fp); - exit; - } else { - exit; - } -} \ No newline at end of file +<BOUCLE_Securite(CONDITION) + {si #ENV{width}|>{0}} + {si #ENV{height}|>{0}} + {si #ENV{logo}|mb_strtolower|strncmp{'http',4}|!={0}} + {si #ENV{logo}|exif_imagetype|>{0}} +><?php +/* Sécurité +On a vérifié : +- que largeur et hauteur sont > 0 +- que l'image est locale et pas distante +- que c'est bien une image +On peut faire le traitement +*/ +$filename='[(#ENV{logo}|image_focus{[(#ENV{width}|intval)],[(#ENV{height}|intval)]}|extraire_attribut{src}|supprimer_timestamp|texte_script)]'; +$size = filesize($filename); +$type= image_type_to_mime_type(exif_imagetype($filename)); +$fp = fopen($filename, "rb"); +if ($size && $type && $fp) { + header('Content-type: ' . $type); + header('Content-Length: ' . $size); + fpassthru($fp); + exit; +} +echo 'Alert!'; +?></BOUCLE_Securite>#HTTP_HEADER{Content-Type: image/gif}[(#INCLURE{images/1.gif})]<//B_Securite>