Foros del Web » Programando para Internet » PHP »

Duda al hacer include

Estas en el tema de Duda al hacer include en el foro de PHP en Foros del Web. Hola Forosdelweb :). Estaba pensando en hacer cambios en las funciones de seguridad de mi sitio. El caso es, hasta ahora desde cada fichero .php ...
  #1 (permalink)  
Antiguo 22/02/2013, 10:54
 
Fecha de Ingreso: septiembre-2012
Ubicación: Madrid
Mensajes: 89
Antigüedad: 11 años, 7 meses
Puntos: 1
Pregunta Duda al hacer include

Hola Forosdelweb :).

Estaba pensando en hacer cambios en las funciones de seguridad de mi sitio.
El caso es, hasta ahora desde cada fichero .php (codificado como UTF-8 sin BOM) hacía un require_once() a otro fichero .php (codificado como ANSI y sin ?> al final del código) que ejecutaba una función que comprobaba que el usuario tenía la sesión iniciada (las funciones las ejecutaba el fichero normal, no el include).


Bien, me funciona perfectamente, y pero se me ocurrió un nuevo método en el que no tenía que escribir tanto código:

archivoNormal.php (codificado como UTF-8 sin BOM)
Código PHP:
Ver original
  1. <?php
  2.   require_once("ArchivoInclude.php");
  3.  
  4.   echo "Contenido de la página";
  5. ?>

ArchivoInclude.php (codificado como ANSI y con ?>)
<?php
header("Location: OtraPágina.php"); // ¿Después del header se necesita exit() para terminar de ejecutar código, ¿verdad?
// Colocaría un header() o un printf() en el código
exit;
?>
Cita:

¿Esto es una buena práctica, o podría producir errores?
  #2 (permalink)  
Antiguo 22/02/2013, 11:05
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Duda al hacer include

recuerda que hacer header location implica otra petición al servidor, ¿estás realmente seguro que lo necesitas de ésa forma?
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 25/02/2013, 09:03
 
Fecha de Ingreso: septiembre-2012
Ubicación: Madrid
Mensajes: 89
Antigüedad: 11 años, 7 meses
Puntos: 1
Pregunta Respuesta: Duda al hacer include

Cita:
Iniciado por maycolalvarez Ver Mensaje
recuerda que hacer header location implica otra petición al servidor, ¿estás realmente seguro que lo necesitas de ésa forma?
Sí, es porque quiero hacer que mis páginas ejecuten funciones así:

foro.php
Código PHP:
Ver original
  1. <?php
  2.   require("usuarios.php");
  3.  
  4.   UsuarioLoggeado();
  5.  
  6.   ?><p>Hola Mundo</p><?php //web que si UsuarioLoggeado hace EXIT; no ejecutamos, porque los exits de los requires afectan a nuestras página principal
  7. ?>


usuarios.php
Código PHP:
Ver original
  1. <?php
  2.   function UsuarioLoggeado()
  3.   {
  4.     if ( empty( $_SESSION["loggeado"] ) )
  5.       exit;
  6.   }
  7. ?>


¿Es correcto todo esto?
:)

Última edición por kies89; 25/02/2013 a las 09:08
  #4 (permalink)  
Antiguo 25/02/2013, 09:33
Avatar de evolutionrgm  
Fecha de Ingreso: mayo-2011
Mensajes: 108
Antigüedad: 12 años, 11 meses
Puntos: 5
Respuesta: Duda al hacer include

yo hago esto desde un archivo que se llama control espero que te ayude

<?php
include("conexion.php");// hacemos una conexion a la bd
foreach($HTTP_POST_VARS as $key => $value)
${$key}=$value;
//Llamada a funcion conexión y selección de bd.
conectar();
$rut = $_POST["rut"];
/*Quita puntos retorno funcion rut*/
$rut= str_replace('.', '', $rut);
$clave = $_POST["clave"];
$clave = md5($clave);

if (($rut != "") && ($clave !="" )){
//realizamos una consulta a la bd
$query = mysql_query("select * from t_usuarios where rut='$rut' and clave='$clave'");

//definimos un array
$array = mysql_fetch_array($query);

//realizamos un array de los campos que contienen el usuario y la contraseña
$arut = ($array["rut"]);
$aclave = ($array["clave"]);
$atipo = ($array["privilegios"]);
//vemos si el usuario y contraseña es váildo
//llamamos los arrays en las siguiente linea.
if ($rut==$arut && $clave==$aclave){
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();

$autentificado = "SI";
$_SESSION["autentificado"] = $autentificado;
$_SESSION["coduser"] = $rut;
$_SESSION["privilegios"] = $atipo;

header ("Location: home.php");
exit;
}else{
//si no existe le mando otra vez a la portada
header("Location: index.php?e=s");
exit;
}
}else{
//si no existe le mando otra vez a la portada
header("Location: index.php?e=s");
}
?>

Etiquetas: include
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 17:41.