2010-09-05 20 views
6

Gizlilikle ilgili endişeler, meta veri için kullanıcı tarafından yüklenen resimleri temizlemem gerektiğine inanmamı sağladı.Hangi resim formatları meta verileri içeriyor ve PHP'de nasıl temizleyebilirim?

JPEG'nin EXIF olduğunu biliyorum, ancak PNG veya GIF konusunda emin değilim (her ikisi de sitemden herkese açık olarak yüklenebilir).

Bu biçimlerin meta verileri de var mı ve nasıl depolanır? Bunu kaldırmanın en iyi yolu nedir?

PHP 5.29 kullanıyorum.

Teşekkür

+1

deneyebilirsiniz. Birçok kişi, hatta bazı büyük siteler, bu farkında değiller –

+0

@Pekka Teşekkür ederim :) – alex

cevap

2

En kolay yol bunları GD ile yeni bir görüntüye kopyalamaktır - tüm görüntü bilgilerini saklarsınız, ancak meta verilerden kurtulursunuz.

+1

+1 en kapsamlı çözüm hakkında soruyor - çoğu durumda en azından hafif bir görüntü kaybı yaşayacağınızı unutmayın. GD'nin JPEG kalitesi * korkunç *. Mümkünse, ImageMagick'i kullanın. –

+0

Bu, görüntülerin herkese açık sürümlerinin * GD ile ölçeklendirildiği gibi iyidir. GD, meta verileri varsayılan olarak düşürürse, açık :) olduğum için. – alex

0

ikisine de sahip meta;) sıkıştırma her türlü kullanmak

+3

Ayrıntılı detaylar lütfen? – alex

0

Tüm resimler meta veriler içerir. Bazı formatlar çok mütevazı, diğer formatlar ise size ihtiyacınız olandan daha fazlasını anlatıyor.

+1

IMO'nun sorusuna gerçekten bir cevap değil. Gizlilikle ilgili verileri (özellikle kullanılan kamera türü, konum, kullanılan yazılım ...) –

3

Bu büyük bir sorudur http://www.php.net/manual/en/imagick.stripimage.php

$f = '16262403.jpg'; 
$i = new Imagick($f); 
$p = $i->getImageProperties(); 
var_dump($p); 
array(5) { 
    ["comment"]=> 
    string(20) "(C) Drom.ru #4495317" 
    ["date:create"]=> 
    string(25) "2012-05-29T17:15:32+03:00" 
    ["date:modify"]=> 
    string(25) "2012-05-29T17:15:30+03:00" 
    ["jpeg:colorspace"]=> 
    string(1) "2" 
    ["jpeg:sampling-factor"]=> 
    string(11) "2x2,1x1,1x1" 
} 

$i->stripImage(); 

$p = $i->getImageProperties(); 
var_dump($p); 
array(2) { 
    ["jpeg:colorspace"]=> 
    string(1) "2" 
    ["jpeg:sampling-factor"]=> 
    string(11) "2x2,1x1,1x1" 
} 
İlgili konular