Loading...

CDN.com.tr Yardım

İmzalı URL: süresi dolan bağlantılar

Bir dosyayı yalnız sizin ürettiğiniz imzayla ve seçtiğiniz ana kadar indirilebilir hâle getirin. İmzasız istek 403, süresi geçmiş istek 410 alır.

İmzalı URL: süresi dolan bağlantılar

Bir dosyayı yalnız sizin ürettiğiniz imzayla ve seçtiğiniz ana kadar indirilebilir hâle getirin. İmzasız istek 403, süresi geçmiş istek 410 alır.

Sıradaki doğru rehber

Panel yolu

  1. Yönetim Paneli
  2. Yayınlama Kuralları
  3. Süreli bağlantı
  4. Gizli anahtar

Ön koşullar

  • Yayın hostname'i tanımlı bir hesap
  • Uygulamanızda bağlantı üretecek bir yer

Karar modeli

Hesabın tamamı mı, tek yol mu?

Ayar iki seviyede de var. Hesap genelinde açmak her isteğin imza istemesi demektir ve sıradan sayfaları kırar. Çoğu kişinin istediği şey /indir ya da /video için tek kural.

  • Hesap geneli: yalnız korumalı dosyadan başka bir şey sunmayan hesaplarda
  • Kural bazında: normal tercih

Bağlantı ne kadar yaşamalı?

Sızan bağlantının değersiz olacağı kadar kısa, yavaş bir bağlantının indirmeyi bitirebileceği kadar uzun. Belge için dakikalar, büyük video için saatler.

  • Belge ve görsel: 5-15 dakika
  • Büyük video ya da arşiv: 1-6 saat

Adım adım rehber

1

Tek bir yol için açın

Yayınlama Kuralları'nı açın, korumak istediğiniz yolu kapsayan kuralı ekleyin ya da düzenleyin, süreli bağlantı seçeneğini etkinleştirin ve bir gizli anahtar girin. Kelime değil, uzun ve rastgele bir dizi kullanın.

  • Yayınlama Kuralları → /indir kuralı → süreli bağlantıyı aç → rastgele anahtarı yapıştır → Değişiklikleri Uygula

Beklenen sonuç: Yapılandırma edge'lere ulaştıktan sonra o yola düz bir istek 403 döner.

2

Uygulamanızda bağlantıyı üretin

İmza; bitiş zamanı, yol ve gizli anahtarın birleştirilip MD5'inin alınmasının base64url hâlidir, anahtardan önce tek boşluk vardır. md5 olarak, bitiş zamanı ise expires olarak eklenir.

  • PHP: $expires = time() + 600; $token = rtrim(strtr(base64_encode(md5($expires . $uri . " " . $secret, true)), "+/", "-_"), "=");
  • Sonuç: https://cdn.example.com/indir/dosya.zip?md5=TOKEN&expires=EXPIRES

Beklenen sonuç: Bağlantı, bitiş zamanına kadar sunulur.

3

Üç sonucu da doğrulayın

Başarılı durumun yanında hata durumlarını da kontrol edin; destek ekibinizin göreceği şey onlar.

  • Parametresiz çekin (403)
  • Geçmiş bir bitiş zamanıyla çekin (410)
  • Geçerli bağlantıyı çekin (200)

Beklenen sonuç: Üç farklı yanıt; böylece bir kullanıcı şikâyeti yalnız durum kodundan sınıflandırılabilir.

Doğrulama

  • curl -o /dev/null -w "%{http_code}" "https://cdn.example.com/indir/dosya.zip" → 403
  • curl -o /dev/null -w "%{http_code}" "https://cdn.example.com/indir/dosya.zip?md5=TOKEN&expires=GECMIS" → 410

Kullanım senaryoları

Bir video, rapor ya da indirilebilir dosya satıyorsunuz ve bağlantının sonsuza kadar paylaşılabilir olmaması gerekiyor. Hotlink koruması başka sitelerin dosyanızı gömmesini engeller; imzalı URL bir adım öteye geçip her bağlantıyı kişiye ve zamana bağlar.

Kısa akış

  1. Yayınlama Kuralları → hesabı (ya da tek bir yolu kapsayan kuralı) seçin → süreli bağlantı ayarını açın ve bir gizli anahtar girin.
  2. Uygulamanız bağlantıyı üretir: bitiş zamanını, yolu ve gizli anahtarı birlikte özetler, imzayı ve bitiş zamanını URL'ye ekler.
  3. Edge imzayı her şeyden önce kontrol eder. Geçerli bağlantılar normal şekilde sunulur ve önbelleğe girer; geçersizler kaynağınıza hiç ulaşmaz.
  4. Anahtar sızdığında ya da biri ekipten ayrıldığında anahtarı değiştirin. Eski anahtarla imzalanmış her bağlantı anında çalışmaz olur.

Kontroller

  • Parametresiz bağlantı 403 döner.
  • Süresi geçmiş bağlantı 410 döner — ayrı bir kod, böylece kendi kayıtlarınızda iki durumu ayırt edersiniz.
  • Doğru imzalı bağlantı sunulur ve yanıt diğerleri gibi önbelleğe alınır.