Merhabalar. Yeni bir blog açmayı düşünüyorum fakat içinden çıkamadığım bir durum var arkadaşlar. Düşük boyutlu bazı dosyaları kendi sitem üzerinden ziyaretçilere indirteceğim fakat forumlarda ya da diğer bloglarda direk link verilip benim siteme uğramadan sömürmelerini istemiyorum açıkçası.
İndirme sitelerindeki gibi kişiye özel indirme linkli oluşturmak istiyorum ya da bir link örnek olarak söylüyorum 1 saat çalıştıktan sonra farklı bir şekle otomatik olarak girecek ve faaliyetini durduracak.
Özet olarak iki seçenek buldum kendimce;
1. site.com/dosya.rar=123123 örnek olarak verdiğim bu link sadece tek kişiye mahsus oluşturulacak. İkinci ziyaretçide çalışmayacak.
veya
2. site.com/dosya.rar=070914-22-23 gibi saatlik aralıklardan sonra link çalışmayıp otomatik olarak site.com/dosya.rar=070914-23-24 gibi güncellenecek.
Bunları nasıl yapabilirim, bunu yapan bir eklenti mevcut mu?
Yaptırmak istersem bu işle ilgilenen arkadaşlar fiyat verebilirlerse sevinirim.
Her Ziyaretçiye Farklı Link Atamak
6
●411
- 11-09-2014, 23:40:39Onursal ÜyeBatuhan adlı üyeden alıntı: mesajı görüntüle
<?php include 'wp-load.php'; include 'wp-config.php'; $kod = $_GET["id"]; if(!empty($kod)){ $tarih = get_option("dosya_tarih"); $kontrol = get_option("dosya_kod"); if ((time() - 3600) < $tarih && $kontrol == $kod) { header('Content-type: application/zip'); header("Content-disposition: attachment; filename=dosya.zip"); readfile(ABSPATH."/wp-content/uploads/dosyalar/dosya.zip"); } else { $yenikod = crc32(date("d/m/Y H")); update_option("dosya_kod", $yenikod); update_option("dosya_tarih", time()); echo "Dosya Bulunamadı"; } } else { echo "Dosya Bulunamadı"; } ?>Anadizinde dosya.php oluşturup içine bu kodları kaydedin.Ardından indirme linkini göstermek istediğiniz yere aşağıdaki kodu yazın.
<?php $kod = get_option("dosya_kod"); $link = "http://www.siteadresiniz.com/dosya.php?id=$kod"; echo $link; ?>Bu şekilde oluşacak örnek link yapısı;
http://www.siteadresiniz.com/dosya.php?id=2442945021
Ziyaretçi dosya.php'ye bağlandığında veritabanından tarihi kontrol eder ve 1 saati geçmiş ise yeni kod üretir.Eski kod ile yapılan girişler pasifleşir.
header("Content-disposition: attachment; filename=dosya.zip");Bu satırda "filename=dosya.zip" yazan kısımda dosya.zip yerine ziyaretçinin dosyayı hangi adla görmesini istiyorsanız o adı yazabilirsiniz.
readfile(ABSPATH."/wp-content/uploads/dosyalar/dosya.zip");
Bu satırda ise dosyanın orjinal yolunu belirtiyoruz.Ben uploads klasörü içerisinde dosyalar klasörüne yükleyip dosyayı indirttim.Siz keyfinize göre değiştirebilirsiniz.
Kolay gelsin
- 12-09-2014, 02:23:58.htaccess 'i sadece zip dosyalarının olduğu klasöre koy . referer verdik dışardan indirememeleri için. Biraz daha geliştirebilirsin.
RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://www.mysite.com/.* RewriteRule .*\.zip - [NC,F] RewriteRule ^(.*)$ http://mysitem.com/search.php?ara=$1 [L,R=301]