Foros del Web » Programando para Internet » PHP »

PHP OO Seguridad de las Url Paginas Dinamicas con PHP

Estas en el tema de Seguridad de las Url Paginas Dinamicas con PHP en el foro de PHP en Foros del Web. Hola a todos espero que comenten y me ayuden quisas ahy varias personas con este problema. he creado unas paginas web atraves de paginas dinamicas ...
  #1 (permalink)  
Antiguo 11/01/2011, 13:36
 
Fecha de Ingreso: enero-2011
Mensajes: 8
Antigüedad: 13 años, 2 meses
Puntos: 0
Seguridad de las Url Paginas Dinamicas con PHP

Hola a todos espero que comenten y me ayuden quisas ahy varias personas con este problema.
he creado unas paginas web atraves de paginas dinamicas de dreamwever con mysql y php he crado sessiones, reportes, restricciones a usuarios, etc. todo con paginas dinamicas de dreamwever cs3.
Explico el Tema cuando ingreso como administrador a mi sitio web y copio la direccion de la pagina ya, me desconecto de mi seccion y despues habro una pagina web en blanco y pego mi direccion de administrador ingreso a la pagina facilmente entonces mi duda y pregunta es como puedo darle alguna seguridad a este problema ya que si una persona mal intencionada copie la direccion de otro usuario y la habra desde otro pc va a entrar facilmente y estando la seccion cerrarda de esa persona no se si me explico, espero que entiendan lo que les quiero plantear y ojala me ayuden por favor desde ya muchas gracias.
  #2 (permalink)  
Antiguo 11/01/2011, 13:43
 
Fecha de Ingreso: enero-2011
Ubicación: 127.0.0.1
Mensajes: 53
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: Seguridad de las Url Paginas Dinamicas con PHP

Pues según lo que te entendí... una vez que alguien este logueado debes crear una variables de sesión la cual te permite saber si x usuario esta logueado o no y debes meter esa validación en todas tus paginas con un simple if else que valida que existe un login previo para visualizar dicha pagina, si ya existe que entre y sino lo mandas a la pagina de login, espero haberte ayudado
  #3 (permalink)  
Antiguo 12/01/2011, 05:32
 
Fecha de Ingreso: enero-2011
Mensajes: 8
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Seguridad de las Url Paginas Dinamicas con PHP

Primero que nada gracias por responder tan rapidamente yoncharly ayer no pude responderte ya que habia terminado mi turno por eso te respondo ahora a ti y a todos del foros del web.
Les cuento el problema de nuevo al iniciar seccion como usuario o administrador yo copio la dirreccion http://..... y me salgo de las secciones. ya estando con las secciones cerradas o no logeado, yo abro una ventana de firefox y pego la direccion que habia copiado con anteriorida e ingreso inmediatamente a la pagina correspondiente entonces no ahy una seguridad ahy por que las personas copiarian la direccion de su usuario o administrador y despues podrian ingresar no estando logeado a la misma pagina facilmente entonces no se que ahy que hacer ahy.

Por favor espero que allan entendido mi problematica desde ya muchas gracias a todos.

Mira como tu sabes cuando uno crea un login con paginas dinamicas el dreamweaver crea automiticamente un codigo php es entonces ahy no sabria en donde colocar el famoso if que tu dices, pero me han pasado un codigo que es para que no pase lo que he contado con anteriorida que lo muestro ahora :

session_start("Id");
if (!(session_is_registered("Id")))
{
session_unset();
session_destroy();
echo '<SCRIPT>alert("No se ha iniciado Session, Favor Registrarse.");
location.href=("index.php");</SCRIPT>';
exit;
}

En donde el ID que sale en realidad no se que es no se lo que debo colocar ahy, y ademas lo estube probando y me sale este error :

Deprecated: Function session_is_registered() is deprecated in D:\wamp\www\Fotos pagina web\Ingreso\Ingreso_usuario.php on line 7

y en realidad no se que hacer no entiendo el codigo que me ha creado dreamwever cs3 en el logeo mira este es el codigo del logeo de mi pagina:

<?php require_once('Connections/segurida.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['usuario'])) {
$loginUsername=$_POST['usuario'];
$password=$_POST['clave'];
$MM_fldUserAuthorization = "ocupacion";
$MM_redirectLoginSuccess = "Ingreso/Ingreso.php";
$MM_redirectLoginFailed = "error.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_segurida, $segurida);

$LoginRS__query=sprintf("SELECT nombre_usuario, clave, ocupacion FROM usuarios WHERE nombre_usuario='%s' AND clave='%s'",
get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));

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

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

//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 );
}
}
?>

Y en realidad quiero que no puedan ingresar por las URL los usuarios que no esten registrados.

Mira y este es el codigo de la pagina en donde que no puedan ingresar atraves de la url o http:// en realidad es una de muchas:

este es el ingreso en donde ahy informacion y cosas para modificar y otras cosas:
este es el comienzo del codigo:

<?php
//initialize the session
session_start();

// ** Logout the current user. **
$logoutAction = $_SERVER['PHP_SELF']."?doLogout=true";
if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){
$logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){
//to fully log out a visitor we need to clear the session varialbles
session_unregister('MM_Username');
session_unregister('MM_UserGroup');

$logoutGoTo = "../index2.php";
if ($logoutGoTo) {
header("Location: $logoutGoTo");
exit;
}
}
?>
<?php
$MM_authorizedUsers = "Jefe de Unidad,Jefe de Operaciones";
$MM_donotCheckaccess = "false";

// *** 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 == "") && false) {
$isValid = true;
}
}
return $isValid;
}

$MM_restrictGoTo = "Ingreso_usuario.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;
}
?>

espero que entiendan y me alla explicado bien quisas estoy siendo muy problematico con todo esto pero en realidad lo nesecito resolver ya que este proyecto es mi proyecto de titulo desde ya muchas gracias a todos.

Etiquetas: dinamicas, seguridad, url
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 15:38.