Foros del Web » Programando para Internet » PHP »

Dudas antes de comenzar con un proyecto

Estas en el tema de Dudas antes de comenzar con un proyecto en el foro de PHP en Foros del Web. Hola chic@s, Me he tirado un par de meses out del foro, pero ya estoy de vuelta :D Comienzo explicando mi proyectito, ya que estoy ...
  #1 (permalink)  
Antiguo 31/03/2016, 14:28
Avatar de agusax  
Fecha de Ingreso: junio-2011
Ubicación: Puerto Real (Cádiz)
Mensajes: 74
Antigüedad: 12 años, 10 meses
Puntos: 3
Dudas antes de comenzar con un proyecto

Hola chic@s,
Me he tirado un par de meses out del foro, pero ya estoy de vuelta :D

Comienzo explicando mi proyectito, ya que estoy organizando unos archivos de una asociación musical y me gustaría facilitar los documentos a los miembros.

Quiero realizar una web básica, que dispondrá de lo siguiente y no me supone problemas:
- Página inicial de login
- Depende del rango del usuario, carga una carpeta del hosting con los PDF facilitados.
- Administradores pueden subir PDF al servidor.
- Administradores modifican rangos de sus usuarios.

No tengo problemas a la hora de realizar esta web, pero me surgen las siguientes dudas:

- ¿Cómo podría proteger esos archivos PDF para que la gente no accedan a ellos desde la barra de navegación? (es decir, si no esta logueado, pero tiene el enlace del archivo, que no lo pueda descargar)
- Esta web tan simple, ¿me recomendáis usar algún framework? (CodeIgniter, por ejemplo) o con un par de páginas fijas cargando con consulta los archivos tira bien?
- Dispongo de un archivo de unos 5GB, ¿Algún host recomendado? (les he comentado a la asociación sobre el pago, ya que es recomendable, así que me valen recomendaciones gratuitas y de pago)


Sé que es una lata este post, y agradezco a todos los que se tomen la molestia de leer e intentar aconsejarme.
Un saludo.
__________________
"Nunca confíes en un ordenador que no puedas lanzar por una ventana" -- Steve Wozniak
"El software es como el sexo: mejor si es libre y gratis" -- Linus Torvalds
  #2 (permalink)  
Antiguo 31/03/2016, 14:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Dudas antes de comenzar con un proyecto

Cita:
- ¿Cómo podría proteger esos archivos PDF para que la gente no accedan a ellos desde la barra de navegación? (es decir, si no esta logueado, pero tiene el enlace del archivo, que no lo pueda descargar)
No los coloques al alcance, es decir, jamás en la carpeta pública del servidor web.

Lo que debes hacer es crear un script "download.php" que te permita controlar el acceso y de ahí leas los archivos, etc.

Cita:
- Esta web tan simple, ¿me recomendáis usar algún framework? (CodeIgniter, por ejemplo) o con un par de páginas fijas cargando con consulta los archivos tira bien?
Obviamente es tu elección: tu eliges cuanto te quieres tardar sin usar frameworks, y sí ya sabes usar alguno entonces no deberías dudar en usarlo.

PDTA: CodeIgniter es una cosa vieja e inútil, prueba con Laravel 5 y nos dices.

Cita:
- Dispongo de un archivo de unos 5GB, ¿Algún host recomendado? (les he comentado a la asociación sobre el pago, ya que es recomendable, así que me valen recomendaciones gratuitas y de pago)
Amazon sin duda, ningún hosting gratuito te dará GBs, así que debes usar un servicio profesional de almacenamiento en la nube.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 31/03/2016, 15:06
Avatar de agusax  
Fecha de Ingreso: junio-2011
Ubicación: Puerto Real (Cádiz)
Mensajes: 74
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: Dudas antes de comenzar con un proyecto

Cita:
Lo que debes hacer es crear un script "download.php" que te permita controlar el acceso y de ahí leas los archivos, etc.
Practicaré con eso, que es la primera vez que me meto en un archivo bastante extenso.

Cita:
PDTA: CodeIgniter es una cosa vieja e inútil, prueba con Laravel 5 y nos dices.
No dispongo de tanto tiempo para estudiar un Framework nuevo, ¿es enrevesado? ¿cuál es la dificultad de aprendizaje?

Con respecto al host, uso de forma gratuita Hostinger (a saber lo que opinais xD), pero como no me ha ido bastante mal, había pensado sino comprar un plan de ahí, otro host que probé hace tiempo es Quijost.

Nunca he mirado el servicio de Amazon, tengo también que echarle un ojo, además de sus precios jeje

Gracias por tu aporte

PD: Si alguien mas da su opinión, bienvenido sea :D
__________________
"Nunca confíes en un ordenador que no puedas lanzar por una ventana" -- Steve Wozniak
"El software es como el sexo: mejor si es libre y gratis" -- Linus Torvalds
  #4 (permalink)  
Antiguo 01/04/2016, 05:49
Avatar de agusax  
Fecha de Ingreso: junio-2011
Ubicación: Puerto Real (Cádiz)
Mensajes: 74
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: Dudas antes de comenzar con un proyecto

¿Alguien sabe dónde he de colocar los PDF para que no se pueda acceder a través de ellos por la url?
Es decir, tengo una carpeta FILES y dentro tengo PRUEBA.PDF.
Me gustaría que no apareciera en el navegador: www.tuweb.com/FILES/PRUEBA.PDF

Si la gente tiene acceso a esos ficheros, se pueden saltar el login de usuario y acceder al archivo

No sé si me he explicado bien...
Gracias!
__________________
"Nunca confíes en un ordenador que no puedas lanzar por una ventana" -- Steve Wozniak
"El software es como el sexo: mejor si es libre y gratis" -- Linus Torvalds
  #5 (permalink)  
Antiguo 01/04/2016, 05:55
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: Dudas antes de comenzar con un proyecto

Hola agusax,

Vamos a suponer que tienes tu hosting así:

/home/usuario/public_html/

Los archivos los colocarías, por ejemplo, en /home/usuario/files/ y desde ahí los descargarían los usuarios mediante el sistema que te propone pateketrueke.

Espero que te sirva.
  #6 (permalink)  
Antiguo 01/04/2016, 07:23
Avatar de agusax  
Fecha de Ingreso: junio-2011
Ubicación: Puerto Real (Cádiz)
Mensajes: 74
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: Dudas antes de comenzar con un proyecto

Cita:
Iniciado por rbczgz Ver Mensaje
Hola agusax,

Vamos a suponer que tienes tu hosting así:

/home/usuario/public_html/

Los archivos los colocarías, por ejemplo, en /home/usuario/files/ y desde ahí los descargarían los usuarios mediante el sistema que te propone pateketrueke.

Espero que te sirva.
Para listar esos ficheros uso esta función
Código PHP:
Ver original
  1. function listar_archivos($carpeta){
  2.     if(is_dir($carpeta)){
  3.         if($dir = opendir($carpeta)){
  4.             while(($archivo = readdir($dir)) !== false){
  5.                 if($archivo != '.' && $archivo != '..' && $archivo != '.htaccess'){
  6.                     echo'<li><a href="download.php?v1='.$carpeta.'&v2='.$archivo.'">'.$archivo.'</a></li>';
  7.                 }
  8.             }
  9.             closedir($dir);
  10.         }
  11.     }
  12. }

Consigo mostrar los ficheros de esa carpeta oculta, pero no consigo descargar ese pdf

Este es mi download.php

Código PHP:
Ver original
  1. <?php
  2.  
  3. $path= "/home/usuario/";
  4.  
  5. $carpeta = basename($_GET['v1']);
  6. //$carpeta = "ficheros";
  7. $archivo = basename($_GET['v2']);
  8.  
  9. $enlace = $path.$carpeta."/".$archivo;
  10. header ("Content-Disposition: attachment; filename=".$archivo." ");
  11. header ("Content-Type: application/octet-stream");
  12. header ("Content-Length: ".filesize($enlace));
  13. readfile($enlace);
  14. ?>

suponiendo que tengo los archivos en: /home/usuario/files/prueba.pdf

me descarga un pdf, pero no funciona, sin embargo si los ficheros se encuentran dentro del html_public si funciona la descarga

//EDITO PARA AÑADIR LA ULTIMA VERSION DE MI DOWNLOAD.PHP
__________________
"Nunca confíes en un ordenador que no puedas lanzar por una ventana" -- Steve Wozniak
"El software es como el sexo: mejor si es libre y gratis" -- Linus Torvalds

Última edición por agusax; 01/04/2016 a las 08:44 Razón: Ultima version download.php

Etiquetas: comenzar, dudas, proyecto, usuarios
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 08:27.