Foros del Web » Programando para Internet » PHP »

¿Imposible hacer que solo usuarios registrados puedan descargar?

Estas en el tema de ¿Imposible hacer que solo usuarios registrados puedan descargar? en el foro de PHP en Foros del Web. Hola a todos, pues necesito vuestra ayuda para que me resolvais esta duda: Resulta que tengo una Web con su base de datos para que ...

  #1 (permalink)  
Antiguo 08/07/2008, 05:53
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
¿Imposible hacer que solo usuarios registrados puedan descargar?

Hola a todos, pues necesito vuestra ayuda para que me resolvais esta duda:

Resulta que tengo una Web con su base de datos para que los usuarios puedan regsitrarse y llevar un control entre otras cosas... pues lo que querría hacer es como o que debo hacer para que solo usuarios registrados se descarguen archivos osea cuando digo archivos me refiero a programas que he puesto....
  #2 (permalink)  
Antiguo 08/07/2008, 06:39
Avatar de killerangel  
Fecha de Ingreso: septiembre-2007
Ubicación: Un punto en el espacio
Mensajes: 592
Antigüedad: 16 años, 6 meses
Puntos: 10
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

Hola winjose:

Me parece q eso se podría hacer con php, o el lenguaje q estes usando, ya que tendrías la posibilidad de hacer que aparezca el codigo si y solo si el usuario esta logueado, o de lo contrario no hacer el link activo o no mostarlos incluso.

algo como...

if (isset($_SESSION['indicador_loqueado'])){
echo '<a haref...>link</a>';
}else{
echo 'link'
}

claro q el else es opcional en el caso q no desees mostrar nada...

espero te sirva

salu2
__________________
Sueñen... y trabajen por hacer esos sueños realidad... de eso se construye el futuro!!
Me siento entre la ASP-ada y la PHP-red
  #3 (permalink)  
Antiguo 08/07/2008, 07:38
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

Cita:
Iniciado por killerangel Ver Mensaje
Hola winjose:

Me parece q eso se podría hacer con php, o el lenguaje q estes usando, ya que tendrías la posibilidad de hacer que aparezca el codigo si y solo si el usuario esta logueado, o de lo contrario no hacer el link activo o no mostarlos incluso.

algo como...

if (isset($_SESSION['indicador_loqueado'])){
echo '<a haref...>link</a>';
}else{
echo 'link'
}

claro q el else es opcional en el caso q no desees mostrar nada...

espero te sirva

salu2

entonces ese codigo es para que los usuarios no registrados no puedan ver los links o para que no puedan descargar archivos??? es k no entendi muy bn perdona
  #4 (permalink)  
Antiguo 08/07/2008, 08:08
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

Mensaje movido al foro de PHP desde Javascript.

Saludos,
  #5 (permalink)  
Antiguo 08/07/2008, 08:12
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

Os detallaré un poco más mi problema para facilitaros un poco el trabajo, pues mira yo tengo el menu de mi web:
Home
programas
Descargas
....
....
....
....
Pue slo que quiero es que cuando un usuario se meta en la pagina de descargas, solo pueda descargar los archivos de tal pagina si se ha identificado como usuario.

Resumiendo solo puedes descargar si eres usuario..y la pregunta es¿Que puedo poner para que solo un usuario identificado pueda descargar?

Espero que me ayuden
Salu2ssss
  #6 (permalink)  
Antiguo 08/07/2008, 08:13
Avatar de alapaco  
Fecha de Ingreso: septiembre-2003
Ubicación: Caballito - Buenos Aires - Argentina - América del Sur - Planeta Tierra - Sistema Solar - Vía Láctea
Mensajes: 216
Antigüedad: 20 años, 7 meses
Puntos: 5
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

Eso lo que hace es mostrar el link solamente si la variable $_SESSION['indicador_loqueado'] existe.
__________________
__________________
Álvaro Lapacó
  #7 (permalink)  
Antiguo 08/07/2008, 08:30
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

Pues entonces no es precisamente lo que busco :( ¿sera imposible o no existes lo que busco?
No son los links lo que quiero privar de usuarios no registrados sino las descargas es decir yo puse en la web por ejemplo: "Descargar ahora" entonces a esa frase la hipervincule con un archivo para que al ser pulsada se pueda descargar y lo que quiero es que si no estas registrado al pulsar la frase no se te permita la opcion de descargar...
  #8 (permalink)  
Antiguo 08/07/2008, 08:32
Avatar de alapaco  
Fecha de Ingreso: septiembre-2003
Ubicación: Caballito - Buenos Aires - Argentina - América del Sur - Planeta Tierra - Sistema Solar - Vía Láctea
Mensajes: 216
Antigüedad: 20 años, 7 meses
Puntos: 5
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

Bueno, con eso que escribió killernagel se hace lo que pedís.
Tal vez si decis con mas claridad de que forma queres que se impida la descarga podamos darte otras opciones.
__________________
__________________
Álvaro Lapacó
  #9 (permalink)  
Antiguo 08/07/2008, 09:01
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

Cita:
Iniciado por alapaco Ver Mensaje
Bueno, con eso que escribió killernagel se hace lo que pedís.
Tal vez si decis con mas claridad de que forma queres que se impida la descarga podamos darte otras opciones.
ok alapaco te detallare un poco mejor yo puse en la web "Descargar ahora" entonces a esa frase la hipervincule con un archivo para que al ser pulsada se pueda descargar lo que necesito es un codigo o algo que cuando un usuario clikee esa frase , Si esta registrado le permita dirigirse a la descarga en cambio si no esta lo rediriga a otra pagina llamada login.htm
  #10 (permalink)  
Antiguo 08/07/2008, 09:06
Avatar de alapaco  
Fecha de Ingreso: septiembre-2003
Ubicación: Caballito - Buenos Aires - Argentina - América del Sur - Planeta Tierra - Sistema Solar - Vía Láctea
Mensajes: 216
Antigüedad: 20 años, 7 meses
Puntos: 5
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

Entonces el estar logueado o no tiene que validarse en el archivo .php al que apunte ese link, en ese archivo podrias poner algo así:
Código PHP:
if (isset($_SESSION["indicador_loqueado"])){
requiere_once("pagina_usuario_logueado.php");
}else{
requiere_once("pagina_usuario_no_logueado.php");

__________________
__________________
Álvaro Lapacó
  #11 (permalink)  
Antiguo 08/07/2008, 09:34
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

Ok gracias amigo alapaco .... :)
ahh una cosita mas en que parte de la pagina html tengo que poner dicho codigo?
  #12 (permalink)  
Antiguo 08/07/2008, 09:35
Avatar de alapaco  
Fecha de Ingreso: septiembre-2003
Ubicación: Caballito - Buenos Aires - Argentina - América del Sur - Planeta Tierra - Sistema Solar - Vía Láctea
Mensajes: 216
Antigüedad: 20 años, 7 meses
Puntos: 5
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

Eso tiene que ir en una página php tambien (no html), ponela arriba de todo, de hecho la página podría tener solo eso.
__________________
__________________
Álvaro Lapacó
  #13 (permalink)  
Antiguo 08/07/2008, 09:36
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

Hola:

La verdad es que creo que estoy "muy verde" en este tema, pero me parece que lo mejor es no mostrar nunca la url real de la descarga, o sea tener esa url y por ejemplo un id asociado; y si fuera necesario el mimetype del fichero que se quiera bajar, o incluso guardar el propio archivo para descargar en un campo blob de la base de datos (no lo había puesto antes, pero pienso que puede ser útil), y la línea real sea algo así: descarga.php?id=XXX... a la vez una variable de sesión que la página descarga consulte para ofrecer el fichero...

<?
session_start();
if ($_SESSION["logueado"]) {
$id = $_GET["id"];
list($url, $mime) = busca_url($id);
header("Content-type: $mime");
$datos = file_get_contents($url);
echo $datos;
}
else
devolver_basura();
?>

Es solo la estructura, y yo lo implemento en alguna rutina para mostrar imágenes, y creo que funciona... supongo que si se sabe la url será difícil evitar que cualquiera descargue el fichero en cuestión, y con esas líneas en ningún momento se muestra la url...

Espero que si hay alguien que sepa más que yo lo corrobore.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #14 (permalink)  
Antiguo 08/07/2008, 09:47
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

ok alapaco asi lo aré pero la pagina del usuario logueado o no logueado tiene que ser obligatiriamente php, esque al usuario logueado quiero que se le dirija hacia un archivo.zip y al no logueado hacia otra pagina html.
  #15 (permalink)  
Antiguo 08/07/2008, 09:49
Avatar de alapaco  
Fecha de Ingreso: septiembre-2003
Ubicación: Caballito - Buenos Aires - Argentina - América del Sur - Planeta Tierra - Sistema Solar - Vía Láctea
Mensajes: 216
Antigüedad: 20 años, 7 meses
Puntos: 5
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

Para eso tendrías que hacer algo como lo que dijo caricatos.
__________________
__________________
Álvaro Lapacó
  #16 (permalink)  
Antiguo 08/07/2008, 10:00
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

Ufffffffff entonces mejor dejemoslo porque yo sou novato y esto ya se me va de las manos, bastante me costo el poner la base de datos para el registro de usuarios, estuve dias y dias leyendo y leyendo, y ahora hacer lo que quiero esta tomando el mismo camino y no estoy yo ahora para estar dias y dias de lectura
bueno de todas formas Gracias a todos por vuestra ayuda y atencion
Cuidense
SALUDOS
  #17 (permalink)  
Antiguo 08/07/2008, 10:35
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

Hola:

Si tu eres el administrador de tu base de datos, fácilmente puedes usar un gestor como phpmysqladmin, y poner esos datos a mano, o incluso sin usar una base de datos, con un fichero de texto donde cada línea sea la url del fichero, en tu caso concreto no hace falta ni el mime-type, y cargas un array de las url con la función files, y que el id sea el índice...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #18 (permalink)  
Antiguo 08/07/2008, 10:48
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

si amigo caricatos, yo soy el administrador de la base de datos, y el phpmyadmin lo controlo mas o menos aunque eso de crear codigos y demas no lo controlo pues yo no soy programador ni nada por el estilo unicamente leyendo y leyendo iva copiando codigos y gracias a tutoriales conseguí hacer la base de datos, ahora ese codigo que tu pusistes arriba dode tendría que ir en cualquier pagina con al extension php?
  #19 (permalink)  
Antiguo 08/07/2008, 17:06
Avatar de killerangel  
Fecha de Ingreso: septiembre-2007
Ubicación: Un punto en el espacio
Mensajes: 592
Antigüedad: 16 años, 6 meses
Puntos: 10
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

Pues me parece, winjose, que si trabajas con una base de datos, necesitas usar el lenguaje para hacer las consultas, y para mostrar contenidos diferentes a usuarios o invitados... como lo requeres... asi que al parecer tu necesidad ahora parece ser investigar y aprender php, q por cierto no es dificil y convinado con js, ajax y frameworks.... haces un boom!!!

suerte
__________________
Sueñen... y trabajen por hacer esos sueños realidad... de eso se construye el futuro!!
Me siento entre la ASP-ada y la PHP-red
  #20 (permalink)  
Antiguo 08/07/2008, 18:51
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

Cita:
Iniciado por killerangel Ver Mensaje
Pues me parece, winjose, que si trabajas con una base de datos, necesitas usar el lenguaje para hacer las consultas, y para mostrar contenidos diferentes a usuarios o invitados... como lo requeres... asi que al parecer tu necesidad ahora parece ser investigar y aprender php, q por cierto no es dificil y convinado con js, ajax y frameworks.... haces un boom!!!

suerte
Ya eso seria genial pero acaban de terminar las clases del insty (paso a 1º de Bach) y me merezco un descanso, ya no quiero volver a oir eso de estudiar hasta septiembre, por ahora perfeccionare mis metodos que aunque no son eficazes podrian vales, lo que voy a hacer es crear 2 Webs identicas una con las descargas disponible sy la otra no, y lo que hago es que cuando un usuario se logee lo redireccione a la otra web donde Si puede descargar, Ya se que esto tiene de eficacia un 0 ya que si copian la URL ya podrian acceder, Pero bueno me tengo que conformar con eso, ya que lo que yo quiero requiere de alto nivel de programacion.
  #21 (permalink)  
Antiguo 08/07/2008, 18:57
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

Ahhhhh Chicos una cosa... estaba pensando y se me ocurrió una cosa, eso que se estaba hablando antes del Script ese que solo deja ver los links a usuarios registrados, lo suelo ver mucho por ahí, ese que pone: "Necesitas estar registrado para ver este link", SERIA POSIBLE cambiar esas frases por: "Necesitas estar registrado para descargar" Es lo mismo, asi si se registran les aparecerá la frase de: "Descargar", SERIA genial que se pudiera...
Espero vuestra respuesta y opinion
Cuidense
Saludos
  #22 (permalink)  
Antiguo 08/07/2008, 22:23
Avatar de alonsoandres  
Fecha de Ingreso: enero-2004
Ubicación: Matamoros, Tamaulipas
Mensajes: 305
Antigüedad: 20 años, 3 meses
Puntos: 3
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

Código PHP:
if (isset($_SESSION['logueado']))
{
echo 
'TU LINK AQUI';
}
else
{
echo 
'Necesitas estar registrado para descargar'

asi de facil amigo, como lo dijo killerangel.
  #23 (permalink)  
Antiguo 09/07/2008, 07:44
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

Cita:
Iniciado por alonsoandres Ver Mensaje
Código PHP:
if (isset($_SESSION['logueado']))
{
echo 
'TU LINK AQUI';
}
else
{
echo 
'Necesitas estar registrado para descargar'

asi de facil amigo, como lo dijo killerangel.
Ok asi lo aré muchas gracias alonso andres, ¿en la 1º linea de ese codigo, donde pone"logueado" eso lo tendria que cambiar? o lo dejo tal cual...

Ahh y por ultimo(Ya se que soy un poco pesado), Luego ese codigo, lo guaro con un nombre por ejemplo: sesion.php y lo subo a mi web de forma normal no?
Gracias
Cuidense todos
SALUDOS
  #24 (permalink)  
Antiguo 09/07/2008, 08:02
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

Que tal winjose, con respecto a tu primera duda te cuento, al validar los datos del usuario creas tus variables de sesión obviamente si los mismos son correctos ejemplo:
Código PHP:
session_start();
$_SESSION['usuario'] = $nickusuario;
$_SESSION['logueado'] = "SI"
Y para tu segunda duda, en la página donde validaras las descargas implementas tu código:
Código PHP:
session_start();
if (isset(
$_SESSION['usuario']) and $_SESSION['logueado'] == "SI"
{ echo 
'TU LINK AQUI'; } 
else { 
echo 
'Necesitas estar registrado para descargar'; } 
Saludos.
  #25 (permalink)  
Antiguo 09/07/2008, 09:29
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

Hola:

La verdad es que si los usuarios se pueden loguear es porque están dados de alta en tu base de datos... por esa misma razón cuando puse las primeras líneas puse simplemente if ($_SESSION["logueado"]) porque esa verificación después de una consulta a una base de datos también puede tratarse de un valor booleano...

$consulta = "select n from usuarios where nombre = '$usuario' and password = '$pass'";
$respuesta = mysql_db_query($BD, $consulta)
$_SESSION["logueado"] = (mysql_num_rows($respuesta) == 1);

... en ese caso si hay un usuario con el nombre y password correctos la variable de sesión se quedará con el valor lógico true, y con los valores lógicos son redundantes las comparaciones.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #26 (permalink)  
Antiguo 10/07/2008, 05:53
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

Amigos una ultima cosilla
lo de sesion lo entendi y todo lo demas pero mirad el script que yo utilizo para conectar la base de datos y todo lo demas..

<?
// Configura los datos de tu cuenta
$dbhost='jose.pelele.xxx';
$dbusername='josele';
$dbuserpass='XXXXXX';
$dbname='josicho';

session_start();

// Conectar a la base de datos
mysql_connect ($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname) or die('No se puede seleccionar la base de datos');

if ($_POST['username']) {
//Comprobacion del envio del nombre de usuario y password
$username=$_POST['username'];
$password=$_POST['password'];
if ($password==NULL) {
echo "La password no fue enviada";
}else{
$query = mysql_query("SELECT username,password FROM usuarios WHERE username = '$username'") or die(mysql_error());
$data = mysql_fetch_array($query);
if($data['password'] != $password) {
echo "Login incorrecto";
}else{
$query = mysql_query("SELECT username,password FROM usuarios WHERE username = '$username'") or die(mysql_error());
$row = mysql_fetch_array($query);
$_SESSION["s_username"] = $row['username'];
echo ("Bienvenido <strong>".$_SESSION['s_username']." </strong> ya puedes acceder a la seccion de ".'<a href="members.php">Miembros</a>'."");
}
}
}
?>

¿que debo de poner en $_SESSION['logueado'])) ???????????????? teniendo en cuenta el script de arriba


if (isset($_SESSION['logueado']))
{
echo 'TU LINK AQUI';
}
else
{
echo 'Necesitas estar registrado para descargar'
}
  #27 (permalink)  
Antiguo 10/07/2008, 07:51
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

Hola

No, has de poner


session_start();

if (isset($_SESSION['s_username']))
{
echo 'TU LINK AQUI';
}
else
{
echo 'Necesitas estar registrado para descargar'
}
  #28 (permalink)  
Antiguo 10/07/2008, 08:18
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

Ok muchas gracias amigo jaronu
  #29 (permalink)  
Antiguo 10/07/2008, 08:40
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

UFfff estoy siendo ya demasiado pesadito con este tema... lo se y lo siento pero es que al poner eso en la pagina donde tengo elos link, eso me aparece en la pagina es decir lo meto como si estuviera metiendo un codigo html normal y al ver como quedaria en el explorador se ven las letras de sesion y todo eso en la web.....
  #30 (permalink)  
Antiguo 10/07/2008, 08:41
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: ¿Imposible hacer que solo usuarios registrados puedan descargar?

No será que lo estoy haciendo mal y lo que debo de hacer es guardar dicho codigo en un documento de texto y luego cambiarle la extension a php y asi subirlo a la web???
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 11:15.