Foros del Web » Programando para Internet » PHP »

problema .htaccess

Estas en el tema de problema .htaccess en el foro de PHP en Foros del Web. Buenas de nuevo. Tengo el siguiente codigo en .htaccess <FilesMatch "\.flv$"> Order allow,deny Deny from all </FilesMatch> De esta forma no se pueden descargar los ...
  #1 (permalink)  
Antiguo 10/08/2007, 05:58
 
Fecha de Ingreso: abril-2007
Mensajes: 156
Antigüedad: 17 años
Puntos: 0
problema .htaccess

Buenas de nuevo.

Tengo el siguiente codigo en .htaccess

<FilesMatch "\.flv$">
Order allow,deny
Deny from all
</FilesMatch>


De esta forma no se pueden descargar los archivos que tenga la extensión flv del directorio.

Pero con este método la persona que está registrada mediante mi aplicación php tampoco le aparece el flv para que lo pueda visualizar. cuando llamo al flv desde la pagina que está registrada. Es decir yo tengo creada en mi aplicación una variable de sesión que comprueba en cada página si está registrada o no.


Cómo puedo decirle al .htaccess quien está registrada y quien no?

Gracias un saludo de nuevo a todos
  #2 (permalink)  
Antiguo 10/08/2007, 08:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: problema .htaccess

Con .htaccess no es posible hacerlo, para eso necesitas un script PHP que primero valide al usuario en la session y posteriormente le deje descargar el archivo.

Saludos.

PD Porfavor no dupliques temas.
  #3 (permalink)  
Antiguo 10/08/2007, 08:24
 
Fecha de Ingreso: abril-2007
Mensajes: 156
Antigüedad: 17 años
Puntos: 0
Re: problema .htaccess

Gracias gatorv me refiero a que si la persona pone la dirección exacta del archivo por ejemplo:

www.midominio.com/es/video.flv me aparece la descarga del archivo y yo no quiero que se me descargue el archivo...

solo que lo pueda visualizar desde dentro una vez que está en mi aplicación o mi script que ya comprueba mediante sesiones si tiene acceso o no.

Porque mi problema¿? Porque he probado a poner el flv en un directorio por encima del publico para que mi aplicación lo abra desde ahi. Pero según el tutorial http://www.ajpdsoft.com/modules.php?name=News&file=print&sid=286 el flv tiene que estar en la misma dirección... porque si no no funciona a diferencia de descargar un archivo normalmente que lo pones un nivel por encima del directorio publico con un nombre extraño y le pones .htaccess y desde ahi lo llamas si está registrado y si no no hay forma.

Entonces existe alguna manera de llamar al flv desde un directorio por encima del public y que se reproduzca segun este tutorial? o cualquier otro¿?

Gracias de nuevo Un saludo
  #4 (permalink)  
Antiguo 10/08/2007, 08:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: problema .htaccess

Puedes usar un script PHP que compruebe y luego usar las funciones de manejo de archivos de PHP para que si esta logueado entonces haga el paso de tu archivo flv directo por un archivo PHP.

Es decir en lugar de en tu reproductor llamar a video.flv, llamas a video.php, donde video.php se encarga de primero validar al usuario y posteriormente a enviar las cabeceras y leer el archivo video.flv (en otra ruta) y enviarlo.

Saludos.
  #5 (permalink)  
Antiguo 10/08/2007, 09:55
 
Fecha de Ingreso: abril-2007
Mensajes: 156
Antigüedad: 17 años
Puntos: 0
Re: problema .htaccess

gracias gator voy a probar. Una pregunta solo con fopen me haria el streaming bien?

con que función llamo para abrir el flv y el reproductor?

Un saludo de nuevo y gracias
  #6 (permalink)  
Antiguo 10/08/2007, 09:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: problema .htaccess

Tienes que usar fpassthru para enviar el contenido al player, o tambien con fread.

Saludos.
  #7 (permalink)  
Antiguo 10/08/2007, 12:03
 
Fecha de Ingreso: abril-2007
Mensajes: 156
Antigüedad: 17 años
Puntos: 0
Re: problema .htaccess

Gracias GatorV me da el siguiente error, porque no se si lo estoy haciendo bien. En la pagina que ya está logueado el usuario dentro del body pongo un php tal que así:


<?
//este es el reproductor
$player = "/local/home/directorio_ocultofueradelpublic/FLVPlayer_Progressive.swf";
fread($player, "r");
//este es el video
$video = "/local/home/directorio_ocultofueradelpublic/video.flv";
fpassthru($video, "r");
?>


y me da el siguiente error: cuando accedo a la pagina:

Warning: fread(): supplied argument is not a valid stream resource in "/local/home/directorio_ocultofueradelpublic/clases_fns.php on line 103

Warning: Wrong parameter count for fpassthru() in "/local/home/directorio_ocultofueradelpublic/clases_fns.php on line 105


el reproductor, el video.flv y clases_fns.php se encuentran en directorio_ocultofueradelpublic pero la pagina donde aparece se muestra en www.midonio.com/es/logic/clases_user.php.

clases_user.php es la que contiene a clases_fns.php

Weno muchas gracias gatorV de nuevo espero respuesta jeje
  #8 (permalink)  
Antiguo 10/08/2007, 12:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: problema .htaccess

Tu player debe de si ser leido por Web, y debe de estar en una carpeta de tal manera que el <object> lo pueda leer, lo que debes de ocultar es el flv, y ese si lo pasas por fpassthru, aparte de que tus argumentos estan mal te invito a que leas el manual de PHP para que veas la funcion fpassthru y sus argumentos.

Adicionalmente te recomiendo que para probar tu script llames directo desde la ventana del explorador para que veas si te lanza el script flv con las cabeceras correctas.

Saludos.
  #9 (permalink)  
Antiguo 12/08/2007, 05:05
 
Fecha de Ingreso: abril-2007
Mensajes: 156
Antigüedad: 17 años
Puntos: 0
Re: problema .htaccess

Gracias gatorV por la respuesta, siento no haber podido responder antes. Este es el object que tengo:

Código:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="567" height="400" id="FLVPlayer">
    <param name="movie" value="FLVPlayer_Progressive.swf" />
    <param name="salign" value="lt" />
    <param name="quality" value="high" />
    <param name="scale" value="noscale" />
    <param name="FlashVars" value="&MM_ComponentVersion=1&skinName=Clear_Skin_2&streamName=premierepro&autoPlay=false&autoRewind=false" />
    <embed src="FLVPlayer_Progressive.swf" flashvars="&MM_ComponentVersion=1&skinName=Clear_Skin_2&streamName=premierepro&autoPlay=false&autoRewind=false" quality="high" scale="noscale" width="567" height="400" name="FLVPlayer" salign="LT" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" />  
</object>
El archivo con el que estoy probando se llama premierepro.flv el reproductor que es FLVPlayer_Progressive.swf y Clear_Skin_2.swf están en el directorio publico para que lo pueda leer bién.


El dreamweaver cs3 me crea 3 archivos el 1º es el FLVPlayer_Progressive.swf, el segundo es el Clear_Skin_2.swf y el tercero es una carpeta que se llama scripts que contiene AC_RunActiveContent.js

Ahora el trozito de script php lo pongo antes o despues del object? es el siguiente codigo de la pagina php.net:

<?php

// abrir el archivo en modo binario
$nombre = '../../../../archivo_fuera_delpublic/premierepro.flv';
$aa = fopen($nombre, 'rb');

// enviar las cabeceras correctas

header("Content-Type: ../../../../archivo_fuera_delpublic/flv");
header("Content-Length: " . filesize($nombre));

// volcar el video y detener el script
fpassthru($aa);
exit ;

?>


el problema lo tengo cuando le doy a abrir la pagina se queda parpadeando y no se abre nada ni da error ni nada se queda abriendose... y al final se bloquea el explorador y debo cerrarlo

Cual puede ser el error... siento ser tan novato en esto :( si alguien me ayudara le estaria muy agradecido, gracias de nuevo un saludo
  #10 (permalink)  
Antiguo 12/08/2007, 09:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: problema .htaccess

El problema debe de ser este:
Código PHP:
header("Content-Type: ../../../../archivo_fuera_delpublic/flv"); 
El content-type debe de ser al del archivo, que en dado caso yo creo es video/flv o application/x-shockwaveflash

Saludos.
  #11 (permalink)  
Antiguo 13/08/2007, 08:08
 
Fecha de Ingreso: abril-2007
Mensajes: 156
Antigüedad: 17 años
Puntos: 0
Re: problema .htaccess

Gracias GatorV de nuevo por la respuesta. Creo que el problema lo tengo cuando quiero acceder a la ruta del archivo que se queda abriendose... la ruta está bien porque tengo archivos subidos para descargar en el mismo sitio...y se descargan sin problemas.

El header al final me da error porque dicen que ya he lanzado anteriormente mas cabeceras.

A que puede ser debido? el porque no se abre el archivo y se queda la pagina parpadeando?

También he probado a poner el content type application/x-shockwaveflash y sigue sin ir.

Weno si me ayudase de nuevo me haria un gran favor. Gracias de nuevo un saludo
  #12 (permalink)  
Antiguo 13/08/2007, 08:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: problema .htaccess

Si te aparece el error de que ya enviaste cabeceras eso te va a ocasionar un problema, no debes de enviar nada de contenido al explorador antes de enviar las cabeceras y posteriormente enviar los videos.

Saludos.
  #13 (permalink)  
Antiguo 13/08/2007, 08:32
 
Fecha de Ingreso: abril-2007
Mensajes: 156
Antigüedad: 17 años
Puntos: 0
Re: problema .htaccess

Gracias GatorV de nuevo ya he solucionado lo de las cabeceras. Pero el error de que se queda la pagina parpadeando porque no se abre el archivo?

A que puede ser debido? Es decir se queda como abriendose la pagina parpadeando como si no encontrara la ruta del archivo o nunca terminara de abrirse completamente el archivo?


Gracias de nuevo
  #14 (permalink)  
Antiguo 13/08/2007, 09:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: problema .htaccess

Creo debes especificar bien la cabecera, busca en Google cual es el content-type de un FLV, ahora en lugar de usar fpassthru usa fread y echo para imprimir el contenido.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:45.