Foros del Web » Programando para Internet » PHP »

front controller- mostrar paginas

Estas en el tema de front controller- mostrar paginas en el foro de PHP en Foros del Web. Estimadicimos: Creé un front controller por donde pasa toda la actividad de mi aplicación, incluyendo control de usuarios, carga de clases, redirección, entre otras. Este ...
  #1 (permalink)  
Antiguo 21/08/2008, 09:38
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 20 años, 6 meses
Puntos: 2
front controller- mostrar paginas

Estimadicimos:

Creé un front controller por donde pasa toda la actividad de mi aplicación, incluyendo control de usuarios, carga de clases, redirección, entre otras.

Este controlador también se encarga de mostrar las páginas que se le pidan
por ej. /index.php?pagina=pagina1.html&css=default.css

El hecho es que como la pagina que se abra tiene que pasar por el control de usuario que hace el controlador, quisiera que no se pueda abrir individualmente pagina1.html.
Es decir, si el usuario escribe dominio/pagina1.html debería negarle el acceso porque no pasó por control de usuario.

Estuve probando con rewrite rules del apache, pero no logro darle en el clavo.

creé un archivo index.HTACCESS con lo siguiente

Código:
RewriteEngine on
RewriteRule .* index.php
php_flag magic_quotes_gpc off
php_flag register_glob

entiendo que con esto no debería dejar pasar a un lado distinto que no sea el index, pero no funciona.

este es el codigo que me abre la pagina cuando se le pide:

Código PHP:
if(isset($_GET[pagina]))
    {
        
header("Cache-Control: no-store, no-cache, must-revalidate");
        require_once(
constPathViews."/".$_GET[pagina]);
        if(isset(
$_GET[css]))

        {
        echo
' <link href="../vistas/public/css/'.$_GET[css].'" rel="stylesheet" type="text/css">';
        }
    }
    else
    {

        
//cargo el portal
        
header("Cache-Control: no-store, no-cache, must-revalidate");
        require_once(
constPathStaticPagesPortal."/default.htm");
    } 

Muchas gracias desde ya
  #2 (permalink)  
Antiguo 22/08/2008, 20:31
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 16 años, 6 meses
Puntos: 11
Respuesta: front controller- mostrar paginas

Hola!

No entiendo bien tu pregunta.

pero prueba lo siguiente:

RewriteRule .* index.php [R]

Saludos
  #3 (permalink)  
Antiguo 22/08/2008, 22:25
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años, 7 meses
Puntos: 23
Respuesta: front controller- mostrar paginas

buenas!!!

para que el servidor tome los atributos que le estas poniendo no le puedes llamar index.htaccess
se deve llamar solo .htaccess
y si, con los atributos hace lo que pides o mejor dicho, quieres que haga

un saludo!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #4 (permalink)  
Antiguo 23/08/2008, 04:59
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 16 años, 6 meses
Puntos: 11
Respuesta: front controller- mostrar paginas

no vi que le habia puesto ese nombre al archivo, es cierto , ese es el problema.
  #5 (permalink)  
Antiguo 25/08/2008, 06:43
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 20 años, 6 meses
Puntos: 2
Respuesta: front controller- mostrar paginas

Buenas..

Estoy usando apache sobre windows y este ultimo no me deja llamar a un archivo .algo

Por eso supuse que habia que ponerle un nombre.
Como hago en este caso?


saludos
  #6 (permalink)  
Antiguo 25/08/2008, 07:02
 
Fecha de Ingreso: abril-2007
Mensajes: 37
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: front controller- mostrar paginas

Yo solo pude conseguir un .htaccess creandolo x ftp en un servidor mio y descargandolo desde alli a mi pc.

Un saludo
  #7 (permalink)  
Antiguo 25/08/2008, 08:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: front controller- mostrar paginas

Hola moron,

Te recomiendo usar un editor como Notepad++, con el sí puedes crear el archivo .htaccess.

Saludos.
  #8 (permalink)  
Antiguo 28/08/2008, 12:00
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 20 años, 6 meses
Puntos: 2
Respuesta: front controller- mostrar paginas

asi es. Impresionante el viejo y querido turbo visual notepad .net

muchas gracias
  #9 (permalink)  
Antiguo 03/09/2008, 12:29
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 972
Antigüedad: 20 años, 6 meses
Puntos: 2
Respuesta: front controller- mostrar paginas

Hola gente, a pesar de todo tengo un problema, cuando pasa por en index queda en un ciclo infinito.

la estructura que tengo es la siguiente:

controlador/index.php
controlador/.htaccess
vistas/archivos html y js

.htaccess
Código:
RewriteEngine on
RewriteRule .* index.php

parte del index.php
Código PHP:
if(isset($_GET[pagina]))
    {
        
header("Cache-Control: no-store, no-cache, must-revalidate");

        if(isset(
$_GET[css]))

        {
            echo 
'<link href="'.constPathViews.'/css/'.$_GET[css].'.css" rel="stylesheet" type="text/css">';

        }

        require_once(
constPathViews."/".$_GET[pagina].".html");

    }
    else
    {

        
//cargo el portal
        
header("Cache-Control: no-store, no-cache, must-revalidate");
        require_once(
constPathViews."/portal/default.htm");
    } 
Quiero que todo pase por index y que no se pueda acceder directamente a las paginas si no pasan por este archivo ya que ahi hago control de usuario y demás.

muchas gracias desde ya
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 21:15.