Bir sunucudaki bir dosyayı gizlemek için en iyi yöntemi nedir?

6 Cevap php

I am going to make an image hosting system in PHP. I wondered how I should hide my images from users so they can only be accessed through a special url.

Ben htaccess dahil tüm teknikleri tartışmak gerekir.

6 Cevap

i sonra sadece kullanıcıya bu dosyayı göndermek hangi rasgele bir isim ve bir dizin üzerine kopyalar dosyası bir komut dosyası oluşturmak .. yerine onun içeriği gönderirken bir PHP süreç uzun dosya ve domuz sunucu kaynaklarını göndermek sahip olmasını tercih ederim ve belirli aralıklarla sonra o dizine temizlemek başka bir komut dosyası var .. 30 dakika daha yaşlı oluşturma zamanı .. .. u yerine sadece apache + php sürecinin dosyayı geri göndermek için bir apache sürecine ihtiyaç en aza indirmek bu şekilde silerseniz.

Göreli kök dışındaki dosyaları koymak ve webroot dışından dosya yakala ve kullanıcıya aşağı akışı showimage.php gibi bir komut dosyası kullanabilirsiniz. Kod aşağıdaki gibi olacaktır:

$len = filesize($filename);
header("Content-type: image/jpeg");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=\"$new_filename\"");
readfile($filename);

Eğer bir komut dosyası çalıştıran konum beri Ayrıca, size komut doğrulama / yetkilendirme yapabilirsiniz. Bu gibi bir modRewrite kural kurmak için izin verir:

RewriteRule ^images/(.*)$   /showimage.php?file=$1

: görüntü dosyaları olarak rendred olabilir ki

www.domain.com/images/somefile.jpg

yerine:

www.domain.come/showimage.php?file=somefile.jpg

Sen resim dosyasını okur ve istemciye içeriğini gönderir biraz php script yazmak. PHP komut dosyası parametrelerini ve kurabiye ve görüntü belge kök dışında bir yere kaydedilir kontrol edebilirsiniz.

Sadece web kök görüntüleri tutmayın. Erişimi yönetmek için bir php dosyası kullanın. Bir dosyayı göstermek istiyorum, böyle bir şey yapın:

<?php
header('Content-type: image/jpeg');
$f = file_get_contents('path/to/image.jpg');
print $f;
?>

Belgeniz kökünden bir dizin tek-up koyun. . Ardından, onları kapmak için bir htaccess dosyası kullanmak:

RewriteBase /
RewriteRule ^(.+?)\.jpg$ ../imgs/$1.jpg

Ben iyi yöntem şifrelemek için olacağını düşünüyorum.