Compressão de imagens com PHP
Fala galera,
Alguém sabe como eu faço para comprimir imagens no PHP, remover metadados e talz?
Alguém sabe como eu faço para comprimir imagens no PHP, remover metadados e talz?
Arnaldo Arnalado
Curtidas 1
Melhor post
Estevão Dias
06/12/2016
Olá Arnaldo,
Na verdade essa é uma questão muito comum que pode não só ajudar a poupar espaço no seu servidor como também aumentar a segurança, porque no processo de compressão todo e qualquer conteúdo introduzido no arquivo de imagem será destruído.
O código abaixo faz a recriação da imagem utilizando uma qualidade fornecida e as funções de imagem otimizadas disponíveis no PHP. Você precisa checar se a extensão de processamento de imagem (GD) está habilitada no seu servidor - http://php.net/manual/pt_BR/image.installation.php
Na verdade essa é uma questão muito comum que pode não só ajudar a poupar espaço no seu servidor como também aumentar a segurança, porque no processo de compressão todo e qualquer conteúdo introduzido no arquivo de imagem será destruído.
O código abaixo faz a recriação da imagem utilizando uma qualidade fornecida e as funções de imagem otimizadas disponíveis no PHP. Você precisa checar se a extensão de processamento de imagem (GD) está habilitada no seu servidor - http://php.net/manual/pt_BR/image.installation.php
function compress($source, $destination, $quality) { $info = getimagesize($source); if ($info['mime'] == 'image/jpeg') $image = imagecreatefromjpeg($source); elseif ($info['mime'] == 'image/gif') $image = imagecreatefromgif($source); elseif ($info['mime'] == 'image/png') $image = imagecreatefrompng($source); imagejpeg($image, $destination, $quality); return $destination; }
GOSTEI 5
Mais Respostas
Jones Granatyr
05/12/2016
Opa! Dê uma olhada nessa discussão abaixo:
http://pt.stackoverflow.com/questions/54257/como-comprimir-imagens-no-php
http://pt.stackoverflow.com/questions/54257/como-comprimir-imagens-no-php
GOSTEI 0
Arnaldo Arnalado
05/12/2016
Vlw, pessoal! Resolveu aqui.
GOSTEI 0
Marcio Araujo
05/12/2016
O ideal não seria já inserir as imagens em tamanho reduzido?
GOSTEI 0
Estevão Dias
05/12/2016
Olá Marcio,
Eu acho que o ponto mais importante aqui não é somente a compressão, reduzindo a qualidade em um nível aceitável, mas também a remoção de código malicioso durante a recriação da imagem.
Existe uma técnica pela qual o hacker consegue enviar um arquivo comprimido dentro da imagem, fazendo o arquivo de imagem de contêiner. Assim ele consegue colocar um script executável dentro do seu servidor. Nesse processo de recriação e compressão esse conteúdo extra é destruído restando apenas a imagem.
Eu acho que o ponto mais importante aqui não é somente a compressão, reduzindo a qualidade em um nível aceitável, mas também a remoção de código malicioso durante a recriação da imagem.
Existe uma técnica pela qual o hacker consegue enviar um arquivo comprimido dentro da imagem, fazendo o arquivo de imagem de contêiner. Assim ele consegue colocar um script executável dentro do seu servidor. Nesse processo de recriação e compressão esse conteúdo extra é destruído restando apenas a imagem.
GOSTEI 2
Marcio Araujo
05/12/2016
Então você aconselha a compressão? Realmente não sabia dessas possibilidades de invasão com as imagens.
GOSTEI 0
Estevão Dias
05/12/2016
Eu acho necessário, Márcio. Segurança nunca é demais ;)
Eu já ouvi relatos, de sites especializados no assunto, de código bash incluído em imagens que é rodado após o upload para a criação de scripts. Obviamente não é qualquer pessoa que consegue fazer esse tipo de coisa, mas quanto mais portas fecharmos melhor.
Estamos preparando um curso aqui na DevMedia sobre segurança em aplicativos PHP que vai cobrir esse e mais assuntos. Fique ligado.
Um abraço.
Eu já ouvi relatos, de sites especializados no assunto, de código bash incluído em imagens que é rodado após o upload para a criação de scripts. Obviamente não é qualquer pessoa que consegue fazer esse tipo de coisa, mas quanto mais portas fecharmos melhor.
Estamos preparando um curso aqui na DevMedia sobre segurança em aplicativos PHP que vai cobrir esse e mais assuntos. Fique ligado.
Um abraço.
GOSTEI 2
Marcio Araujo
05/12/2016
Segurança é algo critico que requer o maximo de atenção, mas nunca pensei nessas possibilidades! Um curso será muito bem vindo!
GOSTEI 0
Diego Silva
05/12/2016
Opa Estevão, que maneiro hein!
Essa parada de segurança é uma coisa que realmente pode passar despercebida em muitos sistemas
Essa parada de segurança é uma coisa que realmente pode passar despercebida em muitos sistemas
GOSTEI 0
Uiliam
05/12/2016
Olá. Estou finalizando um site com um programador preguiçoso e estou querendo achar um plugin que limite o upload das imagens em 72dpis para aliviar o site. Ele me fala que só existe plugin para limitar um percentual da imagem, ou seja: se subo uma imagem de 300dpi ela sobe com 240pdi e não 72dpis como eu gostaria.
pode me auxiliar??
pode me auxiliar??
GOSTEI 0