Foros del Web » Programando para Internet » PHP »

variables(globales )

Estas en el tema de variables(globales ) en el foro de PHP en Foros del Web. Hola... Soy un poco principiante en desarrollos web y he realizado la pagina de registro de usuarios y login mediante MySQL correctamente y con el ...
  #1 (permalink)  
Antiguo 14/04/2008, 15:14
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
variables(globales )

Hola...
Soy un poco principiante en desarrollos web y he realizado la pagina de registro de usuarios y login mediante MySQL correctamente y con el servidor ( x ) que tengo contratado SI me funciona, pero con otro servidor ( y ) que tambien tengo contratado ( + barato ), traspaso mi web y la bade de datos pero no deja conectar a los usuarios, me han comentado que quizas esté utilizando Variables ( globales ), pero no tengo ni idea que es eso, yo creia que las conexiones de usuarios solo eran variables de sesion y no Variables ( globales ) y me dicen que ,si ,tengo activado las Variables de Session, pero las Variables Globales no ( por seguridad dicen ), ademas en servilos locar SI me funciona, pero en remoto del ( xy ) no me funciona.

-como sé que tipo de variable estoy usando ???
-es possible que use variables para sesiones de usuario web mediante Variables( globales ) ??????

Todo esto es porque quiero cambiar de servidor ya que el que estoy utilizando ahora es muy caro.
Podeia ayudarme ????
Gracias...
  #2 (permalink)  
Antiguo 14/04/2008, 15:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: variables(globales )

Hola jonysi_d,

Seguramente estas usando register_globals, lo que hace por decir si envías un formulario:
Código HTML:
<input type="text" name="user" value="" /> 
A la hora de recibirlo lo recibes como $user (si esta activado register globals), pero si esta desactivado deberás usar $_POST['user'], y así por cada variable que venga del entorno.

Saludos.
  #3 (permalink)  
Antiguo 15/04/2008, 01:59
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Re: variables(globales )

Me han dicho que por seguridad las Variables ( globales ) estan desactivadas , realmente puedo tener algun problema de seguridad ??? pueden los hackers hacer malicias en mi hoisting ????
  #4 (permalink)  
Antiguo 15/04/2008, 02:08
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Re: variables(globales )

Hola jonysi_d,
Con globals en off, PHP no crea variables externas globales, lo que supone eliminar la via de ataque mas habitual, al impedir al atacante que inyecte sus propias variables con alcance global.
Por supuesto, podemos seguir introduciendo valores en el script de forma externa, pero estos valores no son ya accesibles para el script como lo son las variables internas, sino como valores de array, lo que obliga a chequear mínimamente su origen.

Configurar las globales off no supone una solución total a los problemas de seguridad. Siempre será necesario chequear y filtrar los datos enviados al script desde fuera, pero supone un gran avance ya que en primer lugar, estamos separando variables internas y externas, y de otro, tenemos clasificadas estas variables externas atendiendo a su origen (get, post, cookie etc).

fuente: http://www.ignside.net/man/php/globals_off.php

Saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #5 (permalink)  
Antiguo 15/04/2008, 02:10
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Re: variables(globales )

Te expongo mi formulario de "login.php" por si puedes assesorarme:


if (isset($_POST['correo'])) {
$loginUsername=$_POST['correo'];
$password=$_POST['contrasena'];
$MM_fldUserAuthorization = "nivel";
$MM_redirectLoginSuccess = "enviar-foto-paso1_personal-restringido.php";
$MM_redirectLoginFailed = "mal.php";
$MM_redirecttoReferrer = true;
mysql_select_db($database_sitio, $sitio);

$LoginRS__query=sprintf("SELECT correo, contrasena, nivel FROM usuarios WHERE correo=%s AND contrasena=%s",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));

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

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

................ }
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>

............

<form ACTION="<?php echo $loginFormAction; ?>" name="form1" method="POST">
<div align="center">
<table width="67%" border="1">
<tr>
<td width="24%">correo</td>
<td width="76%"><label>
<input name="correo" type="text" id="correo" size="35">
</label></td>
</tr>
<tr>
<td>contrase&ntilde;a</td>
<td><label>
<input name="contrasena" type="password" id="contrasena" size="20">
</label></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><label>
<input type="submit" name="Submit" value="Enviar">
</label></td>
</tr>
</table>
</div>

</form>
<p>&nbsp;</p>
<p align="center">&nbsp; </p>
</blockquote>
<p align="center">&nbsp;</p>
</blockquote>

Yo diria por lo que me as respondido que no uso Variables ( globales ) es asi ???

Última edición por jonysi_d; 30/05/2008 a las 09:36
  #6 (permalink)  
Antiguo 15/04/2008, 04:11
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Re: variables(globales )

Yo diria ( por lo que me as respondido) que no uso Variables ( globales ) es asi ???
  #7 (permalink)  
Antiguo 15/04/2008, 10:35
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Re: variables(globales )

Veras, tengo entendido que el problema no esta en la página "login.php" sino en la que se redirecciona que esta restringida es la que possiblemente actue con Variables globales. La página donde redirecciona una vez logeado tiene un formulario que me envia la informacion escrita en el formulario con la DB MySQL el qual tiene la siguiente formulacion:
Yo no detecto ningun escrito que me haga sospechar que estoy trabajando con Variables Globales. es asi, como lo ves tu ???
Inicia linea 1 conexion:

<?php require_once('Connections/..........); ?>
<?php
//initialize the session
if (!isset($_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']);
}


--------- ( informacion adicional )

Linea finales del formulario

<?php echo $_SESSION['MM_Username']; ?></p>
<div class="Estilo74" id="Layer6"><strong>Debes poner el nombre completo </strong></div>
<div id="Layer7"><a href="<?php echo $logoutAction ?>" class="Estilo40">Desconectar sesion </a></div>
<div class="Estilo74" id="Layer8">Tu nombre </div>
<p>&nbsp;</p>


<form method="post" name="form1" action="<?php echo $editFormAction; ?>">
<table align="center">
<tr valign="baseline">
<td nowrap align="right">Nombre:</td>
<td><input name="nombre" type="text" onClick="MM_showHideLayers('Layer8','','show')" value="" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Usuario:</td>
<td><input name="usuario" type="text" value="<?php echo $_SESSION['MM_Username']; ?>" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Lugar foto:</td>
<td><input type="text" name="lugarfoto" value="" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Descripcion:</td>
<td><input type="text" name="descripcion" value="" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">Foto:</td>
<td><input type="text" name="foto" value="" size="32"></td>
</tr>
<tr valign="baseline">
<td nowrap align="right">&nbsp;</td>
<td><input type="submit" value="Enviar"></td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1">
</form>

Última edición por jonysi_d; 30/05/2008 a las 09:35
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:34.