Skip to content
Extraits de code Groupes Projets
Valider 39df395e rédigé par real3t@gmail.com's avatar real3t@gmail.com
Parcourir les fichiers

[SoyezCréateurs] Sécurité sur les tuiles et correction erreur sur le...

[SoyezCréateurs] Sécurité sur les tuiles et correction erreur sur le redimensionnement avant traitement du focus
parent f8c8b99d
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -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 rduire 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);
......
<?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>
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter