Hi community, um einen sicheren Image upload zu gewährleisten, habe ich ein kleines skript dazu verfasst:
- grundsätzlich soll das Bild falls es zu klein oder zu groß bist, vergrößert/verkleinert werden
- es soll zu einem jpeg convertiert werden :
Sicherheitstechnisch ok?
Würdet ihr noch iwas editieren/verändern/weglassen ?
Hoffe auf eure Beiträge, LG!
- grundsätzlich soll das Bild falls es zu klein oder zu groß bist, vergrößert/verkleinert werden
- es soll zu einem jpeg convertiert werden :
PHP-Code:
// image check
if(!file_exists($_FILES['image']['tmp_name']) || !is_uploaded_file($_FILES['image']['tmp_name'])) {
$error[] = 'You forgot image';
$image = new Imagick( $_FILES['image']['tmp_name'] );
$imageprops = $image->getImageGeometry();
if ( ($imageprops['width'] < 160 && $imageprops['height'] < 160) || ($imageprops['width'] > 160 && $imageprops['height'] > 160) ) {
// don't resize image
// convert image to jpeg
$image->compositeimage($image, Imagick::COMPOSITE_OVER, 0, 0);
$image->setImageFormat('jpg');
$image->writeImage('finishedImages/'.$name.'jpg');
} else {
// resize image
$image->resizeImage(160,160, imagick::FILTER_LANCZOS, 0.9, true);
// convert image to jpeg
$image->compositeimage($image, Imagick::COMPOSITE_OVER, 0, 0);
$image->setImageFormat('jpg');
$image->writeImage('finishedImages/'.$name.'jpg');
}
}
Würdet ihr noch iwas editieren/verändern/weglassen ?
Hoffe auf eure Beiträge, LG!
Kommentar