como evitar el ../ en url con php

Iniciado por stribok, 23 Junio 2011, 08:52 AM

0 Miembros y 1 Visitante están viendo este tema.

stribok

hola, bueno como dice el titulo, tengo una pequeña aplicacion en php donde si ingreso ../ me saca de la carpeta actual.

bueno comento que pasa, tengo la carpeta MiSitio en htdocs..  C:\xampp\htdocs\MiSitio  para acceder en el navegador utilizo esto https://localhost/MiSitio/

el problema es que a la misma altura de MiSitio tengo otra carpeta OtraX... C:\xampp\htdocs\OtraX

asi si pongo en la url del navegador algo asi https://localhost/MiSitio/../OtraX     puedo acceder a esta carpeta OtraX.

utilizo rewrite con .htacces para no mostrar algo asi https://localhost/MiSitio/index.php?archivo.php

RewriteBase /MiSitio/
RewriteRule ^(.*)/$ index.php?page=$1 [L]


entonces en el el archivo index.php he metido esta linea para quitar los  .,/, \\ 

$_GET['page'] = str_replace(array('.','/','\\'),'',$_GET['page']);

pero esto no evita que puedan entrar a la otra carpeta (OtraX )


bueno es aqui donde pido su ayuda para solucionar esto.

nota: trabajo con XAMPP en windows.

Gracias de antemano.  ;-)
TeNer El no cAmiNo CoMo cAmiNo y La n0 liMiTaci0n coMo lImItaCi0n.

XayOn

Hombre, escapa la entrada... en tu aplicacion en php,
fopen( filter_var($variable, FILTER_SANITIZE_URL) , $mode );

stribok

Cita de: XayOn en 23 Junio 2011, 14:53 PM
Hombre, escapa la entrada... en tu aplicacion en php,
fopen( filter_var($variable, FILTER_SANITIZE_URL) , $mode );

te agradezco el comentario pero lo he logrado solucionar con el .htacces.
de todas maneras gracias por tomarte tiempo en comentar un saludo.

doy el tema por cerrado  ;-)
TeNer El no cAmiNo CoMo cAmiNo y La n0 liMiTaci0n coMo lImItaCi0n.

XayOn

Cita de: stribok en 23 Junio 2011, 18:42 PM
te agradezco el comentario pero lo he logrado solucionar con el .htacces.
de todas maneras gracias por tomarte tiempo en comentar un saludo.
doy el tema por cerrado  ;-)
Vale, dalo si quieres, pero ten en cuenta que filtrar el acceso en el servidor web como workaround a un bug grave, y sencillo de corregir, de una aplicación, es cuanto menos una mala politica.