Anty hotlink i limitowanie prędkości pobierania

0

Witam :)
Jestem w trakcie przygotowywania zlecenia na serwis serwujący pliki (zarówno obrazki jak i paczki zip). Zleceniodawca zażyczył sobie dodatkowo zablokowanie hotlinku zdjęć, i plików + możliwość limitowania prędkości pobierania zależnie od rangi usera.

Teoretycznie problem ten rozwiązuje poniższy skrypt:

<?php
//kod znaleziony dawno temu w internecie, wersja podglądowa bez jakichkolwiek zabezpieczeń
$file = $_GET['file'];
$speed = 32;

if (file_exists($file) && is_file($file))
{
   header('Cache-control: private');
   header('Content-Type: application/octet-stream');
   header('Content-Length: '.filesize($file));
   header('Content-Disposition: filename='.$file);

   flush();

   $fp = fopen($file, 'r');
  
   while (!feof($fp))
   {
      echo fread($fp, round($speed*1024));
      
      flush();
      sleep(1);
   }
  
   fclose ($fp);
}
?>

Jednak paczki mogą mieć nawet po 500mb+ wiec obawiam się ze przesłanie tego w taki sposób może zarznąć Apacha (do tego jak sądzę max_execution_time skutecznie będzie zabijać wywołania tego skryptu). No i managary pobierania nie będą mogły wznawiać utraconych połączeń.

W jaki sposób rozwiązują to duże serwisy typu wrzuta ? (z tego co wiem oni limitują prędkość do 20kb).
Są jakieś sposoby oprócz .htacces ? :) Proszę o jakiekolwiek wskazówki.

P.S. Serwis i tak wyląduje na serwerze dedykowanym więc w gre wchodzą również nietypowe rozwiązania

0

mod_throttle do apacza, w celu limitowania prędkości
mod_rewrite w celu zabezpieczenia przed hotlinkowaniem.

0

Dzieki ;) niestety dokumentacja mod_thorottla jest aktualnie niedostępna wiec spytam tutaj. Ustawienia dotyczą wyłącznie konkretnego vhosta tak ? czyli utworzenie 2 vhostów + odpowiednie zarządzanie linkami do pobierania zależnie od rangi da możliwość limitowania prędkości tylko dla niektórych userów ? :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1