| |||
Respuesta: downlodas php mira te aconsejo que incluyas el siguiente script, lo cual fuerza a que el navegador descargue el archivo y no lo intente abrir como suel courrir con IE y archivos de excel o bien con los archivos pdf. Código PHP: |
| |||
Respuesta: downlodas php Eso de pasar nombres de archivos por url para descargar es arma de 3 (o más) filos. Lo ideal es tener los nombres de archivos y sus ids guardados en una base de datos, y al momento de solicitar el archivo se pasa por la url sólo el id. Así evitas que alguien pueda descargar tus scripts php u otros archivos con información sensible. ![]() |
| |||
Respuesta: downlodas php Gracias por tu comentario OKRAM, pero si te das cuenta majony nunca menciona bd, pero si te fijas bien, casi siempre uno identifica los campos auto_increment (primer campo) con el nombre id lo cual lo que indico es que estoy pasando el id via url. Es decir es lo mismo que acabas de mencionar tu. Pero muy buen aporte el tuyo |
| |||
Respuesta: downlodas php En tu script de ejemplo el id en realidad hace referencia al nombre real del archivo: Código PHP: Con un campo id no me refería exactamente aun campo numérico. Puedo hacer que mi campo id que sea el nombre del archivo "simplificado", sin caracteres especiales, y al descargarlo llamar a descargar.php?a=nombre.zip. Esto es muy últil si por ejemplo usamos urls amigables, en cuyo caso podríamos llamar a descargas/nombre.zip. Parecería que se está descargando directamente el archivo, pero en realidad le estoy pasando sólo un id, que sería "nombre" o "nombre.zip". Luego uso este id para buscar en la base de datos (u otro sistema de almacenamiento) y extraer el nombre y la ubicación real del archivo solicitado. ![]() |
| |||
Respuesta: downlodas php Mira yo lo tengo de esta manera 1- lo selecciono de una lista de un formulario lo cual en el value lo identifico con el nombre o id relacionado. 2- lo recupero de la base de datos y le digo que segun el id me seleccione de la carpeta el nombre del archivo que esta guardado con ese id y que coincida con el guardado en la carpeta especifica Estoy mal o deberia de cambiarlo por algo mejor?? Gracias por tu consejo, como siempre el foro es para mejorar entre nosotros Saludos P.D.: yo le puse id para que majony lo intepretara como un campo sacado de la bd, ya que nunca menciono ese tema. Ademas te pregunto me podrias ayudar con el tema propuesto anteriormente por mi?? |
| |||
Respuesta: downlodas php Lo único que hay que tener en cuenta es evitar usar directamente los datos llegados por GET, POST o incluso COOKIE. Estos datos deben ser sólo referencias, especialmente los GET, ya que el usuario tiene total control sobre ellos. Yo tampoco nunca dí por entendido que majony tenía una base de datos, y no es necesario tampoco, ya que hay mil formas de filtrar los datos llegados por la URL. Sólo como ejemplo, podríamos pasar el nombre real de X archivo por la URL, y en el script verificar que no existan barras /, o que el nombre recibido contenga sólo letras, números y puntos. Es otra forma "segura" de descargar archivos. Como te dije, hay mil maneras, y una será mejor que la otra dependiendo del contexto en el que se ejecuta el script y de la utilidad que tenga el sistema. ![]() |