Ödeme yapıldıktan sonra indirmek için büyük ses dosyalarını sunmak nasıl

2 Cevap php

Ben bir kullanıcı bir PayPal işlemi tamamlandıktan sonra, sitemde indirmek için ses dosyaları sunmak istiyoruz. Bunun ticaret tarafı zaten yazılmış ve çalışma olduğunu - Site Zend Framework PHP ile inşa edilmiştir.

Ben depolama ve bant genişliği için büyük ücrete tabi kalmamak, ben Amazon S3 gibi bir hizmeti dosyaları barındırmak istiyorum. Bu benim gereksinimleri için uygun olup olmadığını, ancak emin değilim. PayPal işlem tamamlandıktan sonra, ben, kullanıcı bir tür eşsiz kimliği tuşu atamak gibi onlar anahtarı girmek bir yere göndermek ve onlar almış dosya indirmek için sunulmaktadır ediyorum. Anahtar sonra sona erecek.

Ben anahtarı oluşturmak saklamak ve silmek için kod yazma ile bir sorunum yok. Benim soru budur: nasıl koruyabilirim / Amazon S3 depolanan bir dosyayı gizlemek, ve sonra bunun yerine geçen daha da Amazon doğrudan dosya aktarma yaparken, sonradan geçersiz hale URL bulunan bir yetkili kullanıcıya indirmek için teklif Benim sunucu?

Bu mümkün mü, yoksa başka bir çözüm gerekiyor?

2 Cevap

Amazon S3 bir zaman sınırı ile, aksi korumalı içeriğe erişmek için bir URL oluşturmak için olanak sağlayan bir "Pre-imzalı URL" özelliği vardır. Bkz the Query String Request Authentication Alternative documentation.

Kuşkusuz Amazon S3 hakkında çok az şey biliyorum, ama sen S3 bir veritabanında saklanır ve dosyayı doğru bir anahtar verilen veritabanından dosyayı hizmet verecek bir sayfa yazdı. Sonra yapmak olurdu tüm verilen bir anahtar yetki web sitenizden diyebiliriz S3 üzerinde bir web hizmeti yayınlayacak, ve bundan sonra sadece dosyayı hizmet veren sayfaya yönlendirir.