Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Zabezpieczanie mulitmediów...
Forum PHP.pl > Forum > PHP
*_ENIGMA
Witam.

Robię mały serwis muzyczny i manager artysty pozwolił mi umieścić fragmenty utwórów w formacie MP3 na stronie, ale postawił warunek - mają być zabezpieczone przed ściągnięciem na dysk lokalny użytkownika...
Jak to zrobić z poziomu skryptu php? Dodam, że w grę nie wchodzą ustawienia .htaccess, ponieważ chcę skorzystać z hostingu (nie mam własnego serwera).

Kombinowałem w ten sposób:
zrobiłem linki z utworami, po kliknięciu których wyskakuje okienko popup z odtwarzaczem Windows Media Player (przy wykorzystaniu <object> of course).
W <param name="FileName" value="" /> w ramach value wstawiłem 'start.php', czyli mam <param name="FileName" value="start.php" />

Skrypt start.php wygląda tak:
  1. <?php
  2. header(&#092;"Content-type: audio/mpeg\");
  3. header(&#092;"Cache-Control: no-store, no-cache, must-revalidate\");
  4. header(&#092;"Cache-Control: post-check=0, pre-check=0\", false);
  5. header(&#092;"Pragma: no-cache\");
  6. @include(&#092;"files.php\");
  7. switch($_GET[&#092;"UID\"])
  8. {
  9. case 0:
  10. $file_path = $path[0];
  11. break;
  12. case 1:
  13. $file_path = $path[1];
  14. break;
  15. case 2:
  16. $file_path = $path[2];
  17. break;
  18. }
  19. $mfile = $file_path;
  20. $music = fread(fopen(&#092;"$mfile\",\"rb\"),filesize($mfile));
  21. echo(&#092;"$music\");
  22. ?>


W sumie dla Internet Expolorera działa... muzyczka odtwarza się w odtwarzaczu na stronie, zabezpieczyłem prawy klawisz myszy, a nawet po dostaniu się do źródła strony i wpisaniu w pasku adresu ścieżki do pliku start.php wyskakuje komunikat błędu ściągania pliku... Czyli tutaj jest OK...

Ale problem tkwi w Operze... Gdy w pasku adresu wpiszę ścieżkę dostępu do pliku start.php (np. http://www.mojserwer.pl/sample/start.php) Opera zaczyna ściągać plik... MP3...

Próbowałem zabezpieczać jakoś poprzez $_SERVER["HTTP_REFERER"], sprawdzając czy wejście na start.php wystąpiło tylko i wyłącznie z dokumentu zawierającego kod odtwarzacza, ale w Operze ta metoda nie działa i da się to ominąć...

Może macie jakieś pomysły. Zależy mi na tym aby użytkownik mógł posłuchać pliku MP3 w wbudowanym na stronie odtwarzaczu Widnows Media Player, ale aby nie miał możliwości dostania się do pliku i ściągnięcia go na dysk.
Powyższe metody, które wymyśliłem działają, ale niestety nie dla Opery (dla Netscape jeszcze nie sprawdzałem).

Pozdrawiam.

P.S. Nie doradzajcie mi abym zastosował format Real Audio ;-) (.ra, .ram)
Nie kazdy ma Real Playera, a Windows Media Player prawie każdy
silence
Wg mnie, żeby plik nie został zapisany na kompie trzeba użyć strumieniowania - nie ma innego sposobu.
Paul
Moim zdaniem nie da sie idealnie zabezpieczyc, streaming to jedynie utrudnienie.

Mysle, ze mozna zamiescic nie caly utwor, mozna dorobic jakies "klikanie" w tle, jakosc moze byc np. 48 kb/s.

http://www.google.pl/search?hl=pl&q=stream...btnG=Szukaj&lr=

http://www.google.pl/search?hl=pl&q=stream...btnG=Szukaj&lr=

http://www.google.pl/search?hl=pl&q=stream...btnG=Szukaj&lr=
silence
Paul, pisząc, że strumieniowanie jest jedynym rozwiązaniem miałem na myśli, że bezpośrednio nie da się zapisać wtedy utworu JEDNAK oczywiście nie daje to 100% zabezpieczenia.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.