Página 1 de 1

Proteger descarga externa

Publicado: 09 Jul 2010, 23:33
por paulkees
Hola a todos...!

Por favor, me gustaría saber cómo puedo proteger una descarga externa de archivo con phpBB, es decir, si está registrado descarga el archivo y sino lo manda al formulario de registro.

Saludos!

Re: Proteger descarga externa

Publicado: 09 Jul 2010, 23:42
por angelismo
Este mod te puede servir
http://www.phpbb-es.com/foro/descarga-m ... 20590.html

Re: Proteger descarga externa

Publicado: 11 Jul 2010, 05:46
por paulkees
Hola angelisimo, gracias por responder!

El MOD Oculta el contenido a los invitados, pero resulta que el Foro lo tengo para que sólo lo puedan ver los registrados, por lo tanto en eso no habría problemas.

El caso es que en el post coloco el enlace hacia la descarga que es el archivo "descargar.php", y lo que intento es poner en éste archivo una verificación de que inició sesión, de ser así, que el archivo descargar.php lo mande al archivo que se va a descargar realmente "archivo.zip", de lo contrario que lo mande a la página de registro.

Es para evitar que de alguna manera, se escriba en el navegador la dirección del archivo a descargar y se lo baje directamente!

No se si me expliqué bien?

De todos modos gracias por querer ayudarme!

Re: Proteger descarga externa

Publicado: 11 Jul 2010, 14:06
por ahh72
holas, no se si esto pueda ayudarte con lo que deseas, no soy experto en codigos asi que no tengo idea de como poder integrarlo :oops:

http://marakana.com/blog/examples/php-p ... nload.html

saludos

Re: Proteger descarga externa

Publicado: 12 Jul 2010, 01:16
por paulkees
Antes lo tenía de esta forma y funcionaba, pero lo ha dejado de hacer y no se por que. Seguramente por alguna modificación en las actualizaciones:

Código: Seleccionar todo

<?php
define('IN_PHPBB', true); // se dice que se usa el phpbb. 
$phpbb_root_path = 'ruta_absoluta_al_foro'; // direccion directa del servidor a tu phpBB 
$phpEx = substr(strrchr(__FILE__, '.'), 1); // extension 
include($phpbb_root_path . 'common.' . $phpEx); // se incluye common.php

// iniciamos sesion 
$user->session_begin(); 
$auth->acl($user->data); 
$user->setup();

if ($user->data['user_id'] == ANONYMOUS)
{
    exit();
}

$id = "archivo.zip";
$enlace = "Directorio/".$id;
header ("Content-Disposition: attachment; filename=".$id." ");
header ("Content-Type: application/octet-stream");
header ("Content-Length: ".filesize($enlace));
readfile($enlace);
?>
Ahora he intentado de esta forma y la autenticación de sesión lo hace bien, pero a la hora de dirigirlo hacia el archivo.zip abre una pagina con cignos raros (que debe ser del archivo zip) y me dice también que la cabecera no se puede modificar!

Código: Seleccionar todo

 <?php
    define('IN_PHPBB', true);
    $phpbb_root_path = 'ruta_absoluta_al_foro';     //Ruta absoluta al foro
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    include($phpbb_root_path . 'common.' . $phpEx);

    // Start session management
    $user->session_begin();
    $auth->acl($user->data);
    $user->setup();

	if($user->data['is_registered'])
    {
         $id = "archivo.zip";
         $enlace = "Directorio/".$id;
		 header ("Content-Disposition: attachment; filename=".$id." ");
         header ("Content-Type: application/octet-stream");
         header ("Content-Length: ".filesize($enlace));
         readfile($enlace);
    }
    else
    {
         echo "Debe estar registrado en los Foros para acceder a la descarga";//usuario no logeado
    }
    ?>
Gracias por ayudarme!

Re: Proteger descarga externa

Publicado: 12 Jul 2010, 22:22
por ahh72
holas, estaba pensando y no se si te serviria un mod para evitar el hotlink tambien o es otra cosa lo que deseas? :roll:

saludos

Re: Proteger descarga externa

Publicado: 14 Jul 2010, 18:03
por paulkees
Hola ahh72 y gracias por querer ayudarme!

No se como funciona el Mod que evita hotlink y su tarea especifica, pero lo que quiero es evitar que se ponga la dirección en el navegador y se acceda directamente a la descarga del archivo sin haber iniciado sesión.

Re: Proteger descarga externa

Publicado: 14 Jul 2010, 19:01
por ahh72
entonces el mod que necesitas instalar es el que te recomendo angelismo, con eso puedes hacer lo que estas buscando :wink:

instalalo y nos comentas como te fue.

saludos

Re: Proteger descarga externa

Publicado: 15 Jul 2010, 21:37
por paulkees
ahh72 pasa lo siguiente como he puesto en respuesta a angelismo:
paulkees escribió:
El MOD Oculta el contenido a los invitados, pero resulta que el Foro lo tengo para que sólo lo puedan ver los registrados, por lo tanto en eso no habría problemas.

El caso es que en el post coloco el enlace hacia la descarga que es el archivo "descargar.php", y lo que intento es poner en éste archivo una verificación de que inició sesión, de ser así, que el archivo descargar.php lo mande al archivo que se va a descargar realmente "archivo.zip", de lo contrario que lo mande a la página de registro.

Es para evitar que de alguna manera, se escriba en el navegador la dirección del archivo a descargar y se lo baje directamente!
!
Tal vez no me estoy explicando bien, por favor diganmé si es así!

Re: Proteger descarga externa

Publicado: 15 Jul 2010, 22:06
por ahh72
holas, pues en verdad no entiendo bien que deseas hacer y lo veo algo como que te complicas, ya que si tu foro es privado entonces que motivo tienes para enviarlo a un archivo de descarga y lo vean otros si estando dentro de tus foros privados ya esta protegido ante los invitados :nolose:

saludos

Re: Proteger descarga externa

Publicado: 15 Jul 2010, 22:16
por jakk
ya somos 2 compañero, yo tampoco entiendo lo que quiere hacer
si el contenido solo lo pueden ver los registrados es que ya estan logueados, por lo tanto para que quieres mandarlos a la pagina de logueo, si ya lo están? :nolose:

Re: Proteger descarga externa

Publicado: 16 Jul 2010, 22:45
por paulkees
Hola ahh72... paso a explicarte para que todo esto no quede en el aire.

Bien, si no se inicia sesión en el foro no podrá ver el enlace de descarga, hasta ahí todo bien. Pero si ese usuario registrado difunde la dirección de descarga, ya cualquiera puede poner la dirección en el navegador y descargar el archivo sin necesidad de registrarse y menos aún de iniciar sesión!

Para darte un ejemplo, si pones esta dirección en el navegador:
http://rawk.com.ar/descargas/rubios.php
podrás bajar el archivo que tengo para descargar dentro del foro y que teoricamente tendrías que estar registrado y bajarlo desde el post del foro!

Entonces, lo que quiero es proteger ese archivo "rubios.php" con sesión de phpBB (que contiene el directorio y nombre del archivo .zip) y que es el que lleva a la descarga definitiva del archivo .zip

Ahora se entiende más o menos?

Re: Proteger descarga externa

Publicado: 17 Jul 2010, 00:20
por ahh72
ahora si entiendo :lol:

eso ya es tema de manejo de codigos en phpBB y no es mi campo asi que lo dejo a los expertos en el tema :wink:

saludos

Re: Proteger descarga externa

Publicado: 17 Jul 2010, 01:23
por nextgen
Yo que tu para poder proteger una descarga o linkeo del archivo le agregaba un captcha, pero bueno ya es cuestion de gustos de cada quien.

Saludos...