Foros del Web » Creando para Internet » Herramientas y Software »

comportamiento servidor php restringir acceso

Estas en el tema de comportamiento servidor php restringir acceso en el foro de Herramientas y Software en Foros del Web. Hola a todos. Mi pregunta es si alguien ha comprobado el comportamiento de servidor de dreamweaver 2004 mx de PHP y MySQL de restricción de ...
  #1 (permalink)  
Antiguo 06/04/2005, 12:20
 
Fecha de Ingreso: abril-2005
Mensajes: 3
Antigüedad: 19 años
Puntos: 0
comportamiento servidor php restringir acceso

Hola a todos.
Mi pregunta es si alguien ha comprobado el comportamiento de servidor de dreamweaver 2004 mx de PHP y MySQL de restricción de acceso a página.
He comprobado que conectar usuario me funciona bien, puesto que crea un archivo de sesión en el directorio donde guardo las sesiones (lo configuré en php.ini), la desconexión también me funciona bien.
Sin embargo si en la página destino de log.php pongo el comportamiento restringir acceso (en base a nombre usuario, contraseña que en teoría están bien almacenados) pues no me deja entrar y me envía a la página: accesorestringido.php
No sé ke hacer, puesto ke el código es el ke me genera el propio dreamweaver y no funciona bien, y estoy acostumbrado a usar compiladores pero esto del php no hay manera de depurarlo

este es el codigo de log.php
<?php
// *** Validate request to login to this site.
session_start();

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($accesscheck)) {
$GLOBALS['PrevUrl'] = $accesscheck;
session_register('PrevUrl');
}

if (isset($_POST['Nick'])) {
$loginUsername=$_POST['Nick'];
$password=$_POST['contraseña'];
$MM_fldUserAuthorization = "nivelacceso"; // de momento no lo he usado pero vamos, lo tengo ya listo
$MM_redirectLoginSuccess = "/bienlogin.php"; // nunca llega aki
$MM_redirectLoginFailed = "/fallodelog.php"; // no me da fallo de log,se logea bien pero luego no entra en la restringida
$MM_redirecttoReferrer = false;
mysql_select_db($database_conexion, $conexion);

$LoginRS__query=sprintf("SELECT nick, contraseña, nivelacceso FROM usuario WHERE nick='%s' AND contraseña='%s'",
get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));

$LoginRS = mysql_query($LoginRS__query, $conexion) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {

$loginStrGroup = mysql_result($LoginRS,0,'nivelacceso');

//declare two session variables and assign them
$GLOBALS['MM_Username'] = $loginUsername;
$GLOBALS['MM_UserGroup'] = $loginStrGroup;

//register the session variables
session_register("MM_Username");
session_register("MM_UserGroup");

if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>
>--------------------------------------------->
Este es el codigo de restricción de acceso ke he puesto en la pagina bienlogin.php:

<?php
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 = "/accesorestringido.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); // SIEMPRE VIENE AKI, a accesorestringido.php
exit;
}
?>
  #2 (permalink)  
Antiguo 06/04/2005, 12:27
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 20 años, 6 meses
Puntos: 1
1. De hecho es mucho mas simple debugear un script interpretado que uno compilado.
2. Las herramientas de Dreamweaver para este tipo de cosas no deberían ser usadas en sitios donde la seguridad es importante.
3. Me da weba leer tu código, pero simplemente, donde tu tienes un comentario diciendo //nunca llega aqui, no llega por que para llegar ahi debe haber una variable $_POST recibida desde un formulario, cosa que no sucede obviamente. Si requieres de mas ayuda trata de poner menos código y explicar mejor la estructura de tu sitio.

saludos
  #3 (permalink)  
Antiguo 06/04/2005, 16:22
 
Fecha de Ingreso: abril-2005
Mensajes: 3
Antigüedad: 19 años
Puntos: 0
No tiene ke ver, el formulario de conexión funciona bien, lo ke no funciona es el restringir acceso a página.
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 16:29.