En primer lugar, es muy fácil burlar a un referer. Esta información se almacena en el navegador del usuario, por lo que un usuario puede simplemente ingresar a su servidor y proporcionar su propio referenciador que coincida con su dominio.
Un par de cosas que usted podría intentar:
En primer lugar, más seguro, pero todavía falsificables. mod_rewrite proporciona la capacidad de verificar las cookies. Lo que podría hacer es establecer una cookie cuando el usuario visite su sitio web que contenga datos poco claros. Entonces, podría modificar su RerwriteCond a algo como esto:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_COOKIE} obscurename=obscurevalue [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain.com/.*$ [NC]
RewriteRule \.(asx¦ASX)$ http://www.yourdomain.com/images/leech.gif [R,L]
Otra, una mejor técnica implicaría trabajar con PHP y tipos MIME. No estoy seguro de hasta qué punto esto sería compatible con la transmisión de contenido, pero supongo que funcionará. Lo que puede hacer es hacer que todos sus enlaces de video apunten a un archivo .php (la cadena de consulta determinará qué video se ha seleccionado). Entonces, cuando un usuario intenta visitar este enlace, se hace algo así:
<?php
// You could also check some sort of session variable
// that is set when the user visits another part of your
// site
if(!isLoggedIn()){
header("Location: errorPage.htm");
exit;
}else{
// Get the name of the file specified
$file = get_file_name($_GET['fileID']);
// Specify the proper mime-type for the data you're sending
// (this may have to change, depending on your situation)
header("Content-type: video/vnd.rn-realvideo");
// Read the file and output it to the browser
readfile($file);
}
?>
De lo que he leído, la mayoría de los servidores saben lo que los tipos MIME están fluyendo tipos MIME, por lo que el navegador debe ser capaz de figura cómo manejar el archivo de transmisión correctamente.
La segunda solución funcionará y es segura. Sin embargo, no es una buena idea pasar grandes archivos (video) a través de php. – Jacco