Foros del Web » Programando para Internet » Javascript » Frameworks JS »

evitar el acceso a archivos directamente por la URL

Estas en el tema de evitar el acceso a archivos directamente por la URL en el foro de Frameworks JS en Foros del Web. Hola a todos. Tengo un problemon con la pagina que estoy haciendo (de momento en localhost). La pagina se basa en AJAX (Hago uso de ...
  #1 (permalink)  
Antiguo 14/08/2011, 16:33
 
Fecha de Ingreso: junio-2010
Mensajes: 373
Antigüedad: 14 años, 5 meses
Puntos: 11
evitar el acceso a archivos directamente por la URL

Hola a todos.

Tengo un problemon con la pagina que estoy haciendo (de momento en localhost).

La pagina se basa en AJAX (Hago uso de AJAX a traves de jquery). Basicamente es una unica pagina que se divide en varios divs, casi todos ellos estaticos y solo uno de ellos es en el que voy cambiando los contenidos. En este div voy mostrando los scripts (.php) que el usuario vaya pidiendo.

El paso de parametros lo realizo con POST (siempre) por lo que la URL de la pagina (una vez el usuario se haya loggeado) permanece siempre estatica.

Hasta aqui todo perfecto pero ahora viene el problema.

Cuando un usuario (curioso) quiera acceder a los scripts.php que muestro en el div de la pagina central, accede sin problema alguno si escribe la direccion donde se encuentran éstos directamente en la URL.

Necesito alguna "idea" que evite precisamente esto, que esos archivos no sean mostrados.

Esta tarde pensando en el asunto se me ha ocurrido lo siguiente: como os he comentado la URL de la pagina es esencialmente estatica. Habria entonces alguna manera de hacer que, al escribir cualquier direccion que no sea la de la pagina central, redirija directamente al usuario a dicha pagina??

Bueno, a ver si me podeis echar un cable o dar alguna idea porque llevo ya con este problema varios dias y no doy con ninguna solucion.

Muchas gracias.

1 saludo!!
  #2 (permalink)  
Antiguo 15/08/2011, 08:54
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: evitar el acceso a archivos directamente por la URL

si realizas las peticiones por AJAX, sea con get o post no cambiará la URL de la pagina actual debido a que no se refresca o cambia; bueno, eso no evita que consultando el código se vean las url reales.

una alternativa es controlar desde PHP si las peticiones provienen del XmlHttpRequest http://www.codigogratis.com.ar/-post...jax_o_url.html
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 15/08/2011, 13:00
 
Fecha de Ingreso: junio-2010
Mensajes: 373
Antigüedad: 14 años, 5 meses
Puntos: 11
Respuesta: evitar el acceso a archivos directamente por la URL

Hola Maycol

Cita:
Iniciado por maycolalvarez Ver Mensaje
si realizas las peticiones por AJAX, sea con get o post no cambiará la URL de la pagina actual debido a que no se refresca o cambia;
gracias por la informacion, de veras.


Cita:
Iniciado por maycolalvarez Ver Mensaje
una alternativa es controlar desde PHP si las peticiones provienen del XmlHttpRequest http://www.codigogratis.com.ar/-post...jax_o_url.html
La solucion que me propones es muy buena, en serio....pero todo esto viene a cuenta del siguiente problema..

Hace poco descubri el "maravilloso" add-on de Firefox, Live HTTP Headers.
(doy por supuesto que lo conoces...)

Resulta que con esta p*ta herramienta cualquiera puede saltarse esta 'proteccion' falseando la cabecera...

De todas formas, muchisimas gracias Maycol, en serio. Implementare la función que me propones, solo que necesito aun algo mas seguro. Estoy pensando en el asunto de conocer la URL de manera que si es distinta de la que deberia ser,
  #4 (permalink)  
Antiguo 15/08/2011, 17:46
 
Fecha de Ingreso: junio-2010
Mensajes: 373
Antigüedad: 14 años, 5 meses
Puntos: 11
Respuesta: evitar el acceso a archivos directamente por la URL

Me estoy aproximando (creo) pero sigo en las mismas.

Estoy probando con:

Código PHP:
Ver original
  1. $_SERVER['REQUEST_URI']
  2. $_SERVER['PHP_SELF']

y ya desesperado he probado tambien con:
Código PHP:
Ver original
  1. __FILE__

pero esto no me soluciona nada (como os habreis imaginado). Me esta devolviendo la ruta del script al que llamo (con AJAX) y no la ruta que hay en la URL.

Alguna idea? alguna otra variable $_SERVER que no conozca?....alguna...cosa??

muchas gracias por la ayuda!
  #5 (permalink)  
Antiguo 15/08/2011, 20:44
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 8 meses
Puntos: 1284
Respuesta: evitar el acceso a archivos directamente por la URL

Hola:

Me parece que es una de las peores ideas que vi sobre Ajax; y es que la dependencia total de javascript debería considerarse delito (todos tenemos derecho a desactivarlo...)

Ahora, respondiendo:

$ref = $_SERVER["HTTP_REFERER"];

Eso obtiene la url que referencia a la página... supongo que debería ser el index...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 16/08/2011, 16:12
 
Fecha de Ingreso: junio-2010
Mensajes: 373
Antigüedad: 14 años, 5 meses
Puntos: 11
Respuesta: evitar el acceso a archivos directamente por la URL

Cita:
Iniciado por caricatos Ver Mensaje
Hola:
Me parece que es una de las peores ideas que vi sobre Ajax; y es que la dependencia total de javascript debería considerarse delito (todos tenemos derecho a desactivarlo...)
Entiendo perfectamente tu postura caricatos, pero con la idea que tengo sobre la pagina que estoy tratando de hacer, no evaluo la posibilidad de que pueda ser "accesible" sin javascript activado. Digamos que "corro con los problemas que ello conlleve".

Respecto a la solucion....aun no he dado con ella; y creo que ya me rindo.

De nuevo tengo que darle las gracias a los maravillosos 'programas' que hay hoy en dia para falsear las cabeceras como a uno le da la gana...

De todas formas, muchas gracias a maycolalvarez y caricatos por la ayuda y el tiempo gastado. Al menos he conseguido reforzar un poco mas el codigo.



1 saludo a todos.

Etiquetas: ajax, contenido, jquery, php, post, url
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 03:05.