12/01/2011, 05:32
|
| | Fecha de Ingreso: enero-2011
Mensajes: 8
Antigüedad: 13 años, 10 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. |