Foros del Web » Programando para Internet » PHP »

restringir

Estas en el tema de restringir en el foro de PHP en Foros del Web. Código PHP: <?php if (!isset( $_SESSION )) {    session_start (); } $MM_authorizedUsers  =  "" ; $MM_donotCheckaccess  =  "true" ; // *** Restrict Access To Page: Grant or deny access to this page function  isAuthorized ( $strUsers ,  $strGroups ...
  #1 (permalink)  
Antiguo 08/01/2007, 14:34
 
Fecha de Ingreso: junio-2003
Ubicación: Frente al monitor
Mensajes: 508
Antigüedad: 20 años, 11 meses
Puntos: 0
Pregunta restringir

Código PHP:
<?php
if (!isset($_SESSION)) {
  
session_start();
}
$MM_authorizedUsers "";
$MM_donotCheckaccess "true";

// *** Restrict Access To Page: Grant or deny access to this page
function isAuthorized($strUsers$strGroups$UserName$UserGroup) { 
  
// For security, start by assuming the visitor is NOT authorized. 
  
$isValid False

  
// When a visitor has logged into this site, the Session variable MM_Username set equal to their username. 
  // Therefore, we know that a user is NOT logged in if that Session variable is blank. 
  
if (!empty($UserName)) { 
    
// Besides being logged in, you may restrict access to only certain users based on an ID established when they login. 
    // Parse the strings into arrays. 
    
$arrUsers Explode(","$strUsers); 
    
$arrGroups Explode(","$strGroups); 
    if (
in_array($UserName$arrUsers)) { 
      
$isValid true
    } 
    
// Or, you may restrict access to only certain users based on their username. 
    
if (in_array($UserGroup$arrGroups)) { 
      
$isValid true
    } 
    if ((
$strUsers == "") && true) { 
      
$isValid true
    } 
  } 
  return 
$isValid
}

$MM_restrictGoTo "index.php";
if (!((isset(
$_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers$_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {   
  
$MM_qsChar "?";
  
$MM_referrer $_SERVER['PHP_SELF'];
  if (
strpos($MM_restrictGoTo"?")) $MM_qsChar "&";
  if (isset(
$QUERY_STRING) && strlen($QUERY_STRING) > 0
  
$MM_referrer .= "?" $QUERY_STRING;
  
$MM_restrictGoTo $MM_restrictGoTo$MM_qsChar "accesscheck=" urlencode($MM_referrer);
  
header("Location: "$MM_restrictGoTo); 
  exit;
}
?>


Bien....esto es una pagina de acceso restringuido a usuarios, es la q crea el dreawever k ya todos conocemos...

Esta pagina la puedo poner como un inlcude en cada pagina.php q quiera para negar el acceso almenos q no este logueado....hacerle include('estapagina.php')....o sea, es este el codigo q tengo k tener en la pagina para hacerle el include a las paginas con acceso restringuido? o mejor dicho, como le niego el acceso a los usuarios con esta pagina...?
__________________
Tengo una duda...
  #2 (permalink)  
Antiguo 09/01/2007, 06:18
Avatar de jmqc  
Fecha de Ingreso: noviembre-2004
Ubicación: Venezuela
Mensajes: 353
Antigüedad: 19 años, 5 meses
Puntos: 1
Re: restringir

Que tal, veo que el codigo utiliza algunas variables de sesión por que en la parte superior de cada una de tus paginas o en un include no propagas las sesion (session_start()), y luego verificas si alguna de tus variables de sesioón esta vacía es que el tipo no se ha logueado y lo redireccionas a otra página?, algo asi:
Código PHP:
<?php
session_start
();
if (
$_SESSION['MM_Username']=="")
{
    
header("location:login.php");
}
?>
Esa es una idea. Espero que te sirva... Saludos
__________________
Ante el desconocimiento ni entendimiento de las cosas decimos que los demás estan locos.

José Quintero. Saludos.
:adios:
  #3 (permalink)  
Antiguo 09/01/2007, 07:08
 
Fecha de Ingreso: junio-2003
Ubicación: Frente al monitor
Mensajes: 508
Antigüedad: 20 años, 11 meses
Puntos: 0
Re: restringir

dices k ponga esas lineas de codigo al inicio de cada pagina q quiro negar el acceso? no hay forma de meterlas en un include...? o tengo k poner esas lineas a el script q postie?
__________________
Tengo una duda...
  #4 (permalink)  
Antiguo 09/01/2007, 07:20
Avatar de jmqc  
Fecha de Ingreso: noviembre-2004
Ubicación: Venezuela
Mensajes: 353
Antigüedad: 19 años, 5 meses
Puntos: 1
Re: restringir

Que tal, si quieres crea una página solo con esas lineas y has un include de ela en cada página tuya y nos avisas si funciona... Saludos
__________________
Ante el desconocimiento ni entendimiento de las cosas decimos que los demás estan locos.

José Quintero. Saludos.
:adios:
  #5 (permalink)  
Antiguo 09/01/2007, 07:42
 
Fecha de Ingreso: junio-2003
Ubicación: Frente al monitor
Mensajes: 508
Antigüedad: 20 años, 11 meses
Puntos: 0
Re: restringir

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\pagina.php:2)



me da este error si lo pongo despues de la conection, y si lo pongo antes me da error 404
__________________
Tengo una duda...
  #6 (permalink)  
Antiguo 09/01/2007, 07:46
Avatar de jmqc  
Fecha de Ingreso: noviembre-2004
Ubicación: Venezuela
Mensajes: 353
Antigüedad: 19 años, 5 meses
Puntos: 1
Re: restringir

Recuerda que no pueden haber etiquetas HTML antes de las funciones header o session_start();... Saludos
__________________
Ante el desconocimiento ni entendimiento de las cosas decimos que los demás estan locos.

José Quintero. Saludos.
:adios:
  #7 (permalink)  
Antiguo 09/01/2007, 08:07
 
Fecha de Ingreso: junio-2003
Ubicación: Frente al monitor
Mensajes: 508
Antigüedad: 20 años, 11 meses
Puntos: 0
Re: restringir

eso no lo sabia...pero de todos modos solo copie las lineas q postearon y las grabe en una pagina.php, solo codigo php
__________________
Tengo una duda...
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 08:22.