elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Rewrite
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Rewrite  (Leído 2,468 veces)
bgnumis

Desconectado Desconectado

Mensajes: 155


Ver Perfil
Rewrite
« en: 18 Mayo 2014, 20:17 pm »

Hola ya he resuelto un problema anterior¡¡¡

LA pregunta ahora me surge por cuestiones de seguridad

OS pido ayuda y os doy mil gracias por adelantado porque me estoy volviendo majara

Si hago esto

Código
  1. $nombreUsuario = "http://localhost/Pagina2/Anuales/".$fila['user']."/Notas.pdf";
  2. echo '<a href="' .$nombreUsuario . '"> prueba </a>';


Me aparece el nombre de prueba al darle al "link" click me redirige a la página que quiero:

http://localhost/Pagina2/Anuales/josek/Notas.pdf (josek es el usuario conectado)

Tengo dos dudas, cuando la página ya esté colgada en la host si alguien sabe la estructura de folder y el nombre de usuario tal y como está aunque no esté registrado ¿podrá acceder al pdf?

¿Cómo prodria con modwirte rewrite para que al darle el click con el raton a la palabra "prueba" la www que me muestre arriba omita josek? Si es que se puede.


Muchas Gracias a ver si me podeis ayudar

Mod: Etiquetas GeSHi obligatorias. http://foro.elhacker.net/php/normas-t148495.0.html


« Última modificación: 19 Mayo 2014, 14:28 pm por #!drvy » En línea

bgnumis

Desconectado Desconectado

Mensajes: 155


Ver Perfil
Re: Rewrite
« Respuesta #1 en: 18 Mayo 2014, 23:44 pm »

Se que es muy cansino que os preguntemos todo el rato pero a ver si alguien puede echar un cable y ayudarme con el cambio de web o como hacer para que sólo el usuario conectado y no otro marcando la ruta acceda al fichero...

Gracias  :P ;-) ;-) ;-) ;-)


En línea

JorgeEMX
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.615



Ver Perfil WWW
Re: Rewrite
« Respuesta #2 en: 19 Mayo 2014, 07:35 am »

Existen mejores formas de hacer lo que quieres resolver con mod_rewrite. Podrías usar variables de sesión y así no tener la necesitad de usar el nombre del usuario en la ruta. Como sea, con el nombre o sin el, verificando que el usuario en sesión es el que debe acceder a su propio PDF.

Lo otro sería, hacerte una key y codificarlo con MD5 que implique algunos valores únicos por usuario, y entonces tener una URL del tipo: http://localhost/Pagina2/Anuales/b686aac59bc44cbe8d54aaba3e86930c/Notas.pdf
En línea

bgnumis

Desconectado Desconectado

Mensajes: 155


Ver Perfil
Re: Rewrite
« Respuesta #3 en: 19 Mayo 2014, 17:25 pm »

Hola,

Con lo del password funciona bastante bien (parece mucho más seguro). A ver si me puedes orientar con lo del modwrite.

Te pongo el código que tengo para "autenticar" al usuario hasta que empieza el html

Código
  1. <?php
  2. //Inicializar una sesion de PHP
  3.  
  4. //Validar que el usuario este logueado y exista un UID
  5. if ( ! ($_SESSION['autenticado'] == 'SI' && isset($_SESSION['uid'])) )
  6. {
  7.    //En caso de que el usuario no este autenticado, crear un formulario y redireccionar a la
  8.    //pantalla de login, enviando un codigo de error        <form name="formulario" method="post" action="index.php">
  9. ?>
  10.        <form name="formulario" method="post" action="index.php">
  11.            <input type="hidden" name="msg_error" value="2">
  12.        </form>
  13.        <script type="text/javascript">
  14.            document.formulario.submit();
  15.        </script>
  16. <?php
  17. }
  18.  
  19.    //Conectar BD
  20.    include("conectar_bd.php");  
  21.    conectar_bd();
  22.  
  23.  
  24.  
  25.  
  26.    $sql = "SELECT  CF,Direccion,PuertaLocalGaraje, tx_nombre,tx_apellidoPaterno,tx_TipoUsuario,id_usuario, tx_password
  27.            FROM tbl_users
  28.            LEFT JOIN ctg_tiposusuario
  29.            ON tbl_users.id_TipoUsuario = ctg_tiposusuario.id_TipoUsuario
  30.            WHERE id_usuario = '".$_SESSION['uid']."'";        
  31.    $result     =mysql_query($sql);
  32.  
  33.    $nombreUsuario = "";
  34.  
  35. $cif = "";
  36.  
  37.  
  38.    //Formar el nombre completo del usuario
  39.  
  40.  
  41. //Cerrrar conexion a la BD
  42. mysql_close($conexio);
  43. ?>
  44.  
  45.  
  46. <html lang="es">
  47. <head>


En el html lo que yo quisiera es que hubiera un link que al darle pinchando con el ratón click me habriera una fichero (que siempre se llamaría igual) dentro de una carpeta que se llamara para cada usuario que se pudiera logear tx_apellidoPaterno.

¿Esto es posible con rewrite? Cómo lo haría?
« Última modificación: 20 Mayo 2014, 00:44 am por #!drvy » En línea

bgnumis

Desconectado Desconectado

Mensajes: 155


Ver Perfil
Re: Rewrite
« Respuesta #4 en: 19 Mayo 2014, 23:06 pm »

Por mas que leo rewrite no veo el modo de hacerlo alguien me puede enviar algún link o pista para hacerlo?
En línea

JorgeEMX
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.615



Ver Perfil WWW
Re: Rewrite
« Respuesta #5 en: 19 Mayo 2014, 23:52 pm »

A ver, puedes colocar tu "link" visible al pdf de la siguiente manera: http://localhost/Pagina2/Anuales/Notas.php (o cualquier otro archivo)

Internamente el archivo Notas.php tendrá algo similar a esto:

Código
  1. <?php
  2. // Localidad de tu pdf
  3. $pdf = file_get_contents("/Pagina2/Anuales/".$fila['user']."/Notas.pdf");
  4.  
  5. // Muestra PDF
  6. header("Content-Type: application/pdf");
  7. header('Content-Disposition: inline; filename="Notas.pdf"');
  8. header('Content-Transfer-Encoding: binary');
  9. echo $pdf;
  10.  
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
gran problema htaccess mod rewrite
Desarrollo Web
viher 3 3,893 Último mensaje 22 Agosto 2010, 07:16 am
por Nakp
duda mod rewrite
Desarrollo Web
soru13 5 2,640 Último mensaje 31 Julio 2012, 09:10 am
por sexto
Rewrite con Internet Services
Desarrollo Web
WHK 1 2,079 Último mensaje 28 Agosto 2013, 15:47 pm
por #!drvy
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines