PHP bir ASX dosyasını Korunması

2 Cevap php

Kullanıcıların Windows Media Akış içeriğini giriş ve görebilirsiniz sitemde bir üye sadece bir alan var.

Ben ASX dosyasını hizmet için bir PHP komut dosyası oluşturduk ancak ben oturum bilgileri ile doğrulamak olamaz. Ben WMP isteği ve bir php sayfası yapıyor çünkü bu olduğunu düşünüyorum.

Herkes ASX dosyalarınızı korumak için zarif bir yol önerebilir?

2 Cevap

Ne yapardın. Asx isteği içine PHP oturum kimliği dahil değildir. Normalde bu tanımlayıcı bir çerez saklanır ve her sayfa isteği üzerine PHP geçirilir. Bu durumda WMP bir çerez birlikte göndererek değil, bu nedenle talep doğrulanmış olup olmadığını ya da değil bilmenin bir yolu yoktur.

Ne zaman ASX dosyası için çıkış indirme linki, bir GET değişkeni olarak oturum tanımlayıcı çakmak:

$download_link = "http://myserver.com/download_asx_file.php?"
$download_link .= "f=$file_id&";
$download_link .= htmlspecialchars(SID);

Şimdi session_start() çağırdığınızda üstündeki download_asx_file.php bulmak ve doğru oturumu yük ve normal olarak kimlik doğrulaması için izin vermelidir.

Note: SID sürekli değerlendirilir PHPSESSID=12345678 (veya ne olursa olsun o kullanıcının oturum olur)

Bu deneyebilirsiniz:

//$user->isAuthenticated is only for ilustration, use whatever method you
//use to check if the user is authenticated
if($user->isAuthenticated()) {
      $asx = file_get_contents("/path/to/my/file.asx");
      header("Content-type: video/x-ms-asf");
      echo $asx;
} else {
      //Tell the user that he can't view this asx
}