lostyazilim
tr.link

Tek Kullanımlık İndirme Linki Oluşturmak

25 Mesajlar 9.635 Okunma
lstbozum
tr.link

FiberTurkiye FiberTurkiye WM Aracı Kullanıcı
  • Üyelik 18.09.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Webmaster
  • Konum Aksaray
  • Ad Soyad A** K**
  • Mesajlar 979
  • Beğeniler 83 / 144
  • Ticaret 4, (%100)

kalemobi adlı üyeden alıntı

Hocam yanlış anlamaz iseniz site içeriği ne olacak acaba

İndirme sitesi oyunlar için içerik indirilen bir sitemiz var 2. sitesini yapıyoruz ve guncelleyecegiz iki siteyi de.

xPaylas adlı üyeden alıntı

Direk girişi engelleyebilirsiniz.


$referer = $_SERVER['HTTP_REFERER'];

if ($referer == "")
{
echo "Direk girişler engelli.";
}

else
{
echo "Sitemizden tıkladınız";
}

?>


Teşekkürler ama linkin öğrenilmesini istiyoruz. Bu yüzden tek seferlik oluşturma yapmak istiyoruz. Linkin gerçek adresi öğrenilmemiş olacak ve en azından URL ile dosya çekmeyi de engellemiş olacağız.
 

 

wmaraci
reklam

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)
bu işinize yarar mı?

https://wmaraci.com/forum/php-hazir-kodlar/dosya-yolunu-gostermeden-indirme-yaptirma-197073.html
 

 

FiberTurkiye FiberTurkiye WM Aracı Kullanıcı
  • Üyelik 18.09.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Webmaster
  • Konum Aksaray
  • Ad Soyad A** K**
  • Mesajlar 979
  • Beğeniler 83 / 144
  • Ticaret 4, (%100)


İlk sunucu için işe yarayabilir ama premium için sanmıyorum. Çünkü adam para verip premium linki ortalığa saçmasına izin vermek istemiyorum. Bu nedenle o ana özel indirme linki oluşturması lazım. Konu ABC dosya xyz ise xyz.rar dosyayisinin linki direk /xyz.rar olmak yerine /randomurl917 vs gibi anlamsız bir link oluşturacak. Adam buna tıklayıp indirirse 2. defa kullanılmaz o link yenisink sistem otomatik oluşturmalı. Ve zaten premium sadece üyelikten giriş yaparak kullanılabilir olacak. Bilgilerin paylaşılma ihtimali var ondan bizde bu şekil engellemek istiyoruz. Daha da çözemedik.
 

 

kilitbilgi kilitbilgi kilitbilgi@gmail.com Kullanıcı
  • Üyelik 13.06.2012
  • Yaş/Cinsiyet 31 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İzmir
  • Ad Soyad B** Ç**
  • Mesajlar 396
  • Beğeniler 82 / 125
  • Ticaret 3, (%100)
Merhabalar,
Tek kullanımlık indirme linki için size şöyle basit bir çözüm önerebilirim,
İndirme yapılması için gireceğiniz ekranda kullanıcı numarası tabanlı benzersiz bir kod oluşturabilirsiniz.
Örnek vermek gerekirse;

$temp_hash = md5(uniqid($user_id, true));

Bu kodu veritabanındaki, örneğin "download_hash" tablosuna indirilecek dosyanın numarası ile ekleyip , sonrasında oluşturulmuş olan linke tıklayıp , yüklenenler tablosu ile join yapıp gerçek dosya yolunu alarak yine php yardımıyla dosya indirmesi yaptırabilirsiniz.
Örnek PHP kodu aşağıdadır.

$file = "yüklenenler tablosundan gelecek asıl dosya ismi";
$ext = pathinfo($file, PATHINFO_EXTENSION);
header("Content-Disposition: attachment; filename=".$temp_hash.".zip");
header("Content-Length: " . filesize($file));
ob_clean();
ob_end_flush();
readfile($file);

Bu işlemi yapmadan önce de download_hash kodunun durumunu pasif yapabilirsiniz.
Ayrıca kullanıcının numarası(user_id) ile beraber veritabanına ekleme yaparsanız , linki kullanıcı bazlı da yapabilirsiniz.
Bir dahaki indirme denemesinde durum kontrolü yapıp aktif değilse hata mesajı bastırabilirsiniz.
Başka bir kullanıcı veya üye olmayan biri linke tıklasa bile dosyayı indiremeyeceklerdir.

Eğer başarısız olursanız konuda ücretli destek veren arkadaşları da değerlendirebilirsiniz.

Kolay gelsin , başarılar.
 

 

wmaraci
wmaraci

FiberTurkiye FiberTurkiye WM Aracı Kullanıcı
  • Üyelik 18.09.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Webmaster
  • Konum Aksaray
  • Ad Soyad A** K**
  • Mesajlar 979
  • Beğeniler 83 / 144
  • Ticaret 4, (%100)

kilitbilgi adlı üyeden alıntı

Merhabalar,
Tek kullanımlık indirme linki için size şöyle basit bir çözüm önerebilirim,
İndirme yapılması için gireceğiniz ekranda kullanıcı numarası tabanlı benzersiz bir kod oluşturabilirsiniz.
Örnek vermek gerekirse;

$temp_hash = md5(uniqid($user_id, true));

Bu kodu veritabanındaki, örneğin "download_hash" tablosuna indirilecek dosyanın numarası ile ekleyip , sonrasında oluşturulmuş olan linke tıklayıp , yüklenenler tablosu ile join yapıp gerçek dosya yolunu alarak yine php yardımıyla dosya indirmesi yaptırabilirsiniz.
Örnek PHP kodu aşağıdadır.

$file = "yüklenenler tablosundan gelecek asıl dosya ismi";
$ext = pathinfo($file, PATHINFO_EXTENSION);
header("Content-Disposition: attachment; filename=".$temp_hash.".zip");
header("Content-Length: " . filesize($file));
ob_clean();
ob_end_flush();
readfile($file);

Bu işlemi yapmadan önce de download_hash kodunun durumunu pasif yapabilirsiniz.
Ayrıca kullanıcının numarası(user_id) ile beraber veritabanına ekleme yaparsanız , linki kullanıcı bazlı da yapabilirsiniz.
Bir dahaki indirme denemesinde durum kontrolü yapıp aktif değilse hata mesajı bastırabilirsiniz.
Başka bir kullanıcı veya üye olmayan biri linke tıklasa bile dosyayı indiremeyeceklerdir.

Eğer başarısız olursanız konuda ücretli destek veren arkadaşları da değerlendirebilirsiniz.

Kolay gelsin , başarılar.


Teşekkürler deneyelim bakalım. Bu şekilde yaparak panele de IP limiti ayarlarsak büyük oranda çözmüş oluruz.
 

 

kilitbilgi kilitbilgi kilitbilgi@gmail.com Kullanıcı
  • Üyelik 13.06.2012
  • Yaş/Cinsiyet 31 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İzmir
  • Ad Soyad B** Ç**
  • Mesajlar 396
  • Beğeniler 82 / 125
  • Ticaret 3, (%100)
IP limitinden ziyade indirme linklerini kullanıcı tabanlı ve kullanıcıları da mail,telefon aktivasyonlu şekilde tutarsanız sorunu çözebilirsiniz.
 

 

FiberTurkiye FiberTurkiye WM Aracı Kullanıcı
  • Üyelik 18.09.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Webmaster
  • Konum Aksaray
  • Ad Soyad A** K**
  • Mesajlar 979
  • Beğeniler 83 / 144
  • Ticaret 4, (%100)

kilitbilgi adlı üyeden alıntı

IP limitinden ziyade indirme linklerini kullanıcı tabanlı ve kullanıcıları da mail,telefon aktivasyonlu şekilde tutarsanız sorunu çözebilirsiniz.


Şimdi themeforest gibi site değiliz internette paylaşılan şeyleri sitemize ekliyoruz ama çoğu gibi baştan sağma şekilde değil özene bezeme bunu da gelen tesekkur mesajlarından anlıyoruz. Yeni site olacağı için mail aktive olayını sevilmeyecegini düşünüyoruz. Sadece güvenlik amaçlı olarak ve özellikle premium hesaplar için 1 saatte belirli bir multi IP giriş limiti koymayı dusunuyoruz. Misal olarak 1 saat içinde 3 farklı ip den girilirse aynı hesaba tedbirli olarak 5-10 dk erişim kısıtlaması uygulamayı planladık. Devamında hesap takibe alınacak ve gerekirse durdurulacak.
Gmail de gelen tek kullanımlık linkleri bu nedenle araştırıyoruz.
 

 

Caesar Caesar ich bin /root Kullanıcı
  • Üyelik 24.08.2015
  • Yaş/Cinsiyet 39 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad O** B**
  • Mesajlar 837
  • Beğeniler 77 / 558
  • Ticaret 10, (%100)
Hocam indir dosyası içerisine session ile üyelik bilgilerini at.

o bilgileri kontrol et premiumsa premium suncuudan indirt değilse normal sunucudan.

Başka yerde paylaşsa bile başka yerden tıklayan herhangi bir üyelik sessionu gelmeyeceği için zaten indiremez.

Bu kadar neden kafa patlattınız ki?

Ip adresinide atarsınız sessionun içerisine eğer belirli bir süre içerisinde ip adresi değişiyorsa kullanıcının hesabını bloke eder aktif etmesi içim mail adresine link gönderirsiniz. O linke tıkladığında tekrardan aktif olur. Böylelikle hesap paylaşımıda yapamaz. Her hesap paylaşımında mail ile uğraşamaz.
takiplekazan

kişi bu mesajı beğendi.

>/dev/null 2>&1

EmreTaner EmreTaner WM Aracı Kullanıcı
  • Üyelik 29.01.2013
  • Yaş/Cinsiyet 28 / E
  • Meslek Öğrenci
  • Konum Tekirdağ
  • Ad Soyad E** Ç**
  • Mesajlar 694
  • Beğeniler 44 / 128
  • Ticaret 5, (%100)
Takip
 

 

ETC Mobile Apps
Mobil uygulama yapılır.

FiberTurkiye FiberTurkiye WM Aracı Kullanıcı
  • Üyelik 18.09.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Webmaster
  • Konum Aksaray
  • Ad Soyad A** K**
  • Mesajlar 979
  • Beğeniler 83 / 144
  • Ticaret 4, (%100)

Caesar adlı üyeden alıntı

Hocam indir dosyası içerisine session ile üyelik bilgilerini at.

o bilgileri kontrol et premiumsa premium suncuudan indirt değilse normal sunucudan.

Başka yerde paylaşsa bile başka yerden tıklayan herhangi bir üyelik sessionu gelmeyeceği için zaten indiremez.

Bu kadar neden kafa patlattınız ki?

Ip adresinide atarsınız sessionun içerisine eğer belirli bir süre içerisinde ip adresi değişiyorsa kullanıcının hesabını bloke eder aktif etmesi içim mail adresine link gönderirsiniz. O linke tıkladığında tekrardan aktif olur. Böylelikle hesap paylaşımıda yapamaz. Her hesap paylaşımında mail ile uğraşamaz.

İlk dediğiniz mantıklı ama ip adresi olayını öyle yaparsak bize köstek olur. Çünkü gerek operatör hattında IP değişiyor gerekse maile girmek zor geliyor. Bu yüzden uyarı sistemli yapmak daha mantıklı gibi.
Teşekkürler.
 

 

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al