Foros del Web » Programando para Internet » PHP »

pasar variables por l url

Estas en el tema de pasar variables por l url en el foro de PHP en Foros del Web. Hola a todos, estoy acostumbrandome recien en la programacion con register_globals en off y quisiera saber como pasar variables por la url sin que se ...
  #1 (permalink)  
Antiguo 08/08/2006, 18:00
 
Fecha de Ingreso: julio-2006
Mensajes: 114
Antigüedad: 17 años, 9 meses
Puntos: 0
Exclamación pasar variables por l url

Hola a todos, estoy acostumbrandome recien en la programacion con register_globals en off y quisiera saber como pasar variables por la url sin que se vean, es decir siempre cuando recoja la variable en otra pagina tengo que poner $_GET['variable'], tambien podria poner $_POST['variable']??? si es posible como puedo poner el link para k no se vea lo k envio????, es seguro k se vea la informacion k mando??? o alguien malintencionado puede sobreescribir la url y pasar otros valores de las variables??
  #2 (permalink)  
Antiguo 08/08/2006, 18:02
 
Fecha de Ingreso: julio-2006
Mensajes: 114
Antigüedad: 17 años, 9 meses
Puntos: 0
pues acabo de probar mi teoria y es inseguro pasar variables por la URL, hay alguna otra forma de pasar variables a otra pagina que no sea con sesiones o url o formularios???
  #3 (permalink)  
Antiguo 08/08/2006, 18:04
 
Fecha de Ingreso: agosto-2003
Mensajes: 398
Antigüedad: 20 años, 7 meses
Puntos: 0
El $_GEt recoge la variable de la url y el $_POST las recoge de aquellas que han sido enviadas por formularios. Una forma de que no se vean la variables por la url es usando htacces haciendo uso del modrewrite que te permite trasnformar las urls. De todos modos yo diria que lo "no seguro" es el modo en que recoges las variables y no el echo de que estas esten en la url.

Saludos
  #4 (permalink)  
Antiguo 08/08/2006, 18:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En un formulario HTML puedes definir:

method="GET"

Es decir .. no es que por el hecho de usar un fomulario se propaguen sus datos en POST sino que es la "constumbre" usarlo así .. pero no la obligación.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 08/08/2006, 18:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por fjchavez Ver Mensaje
Hola a todos, estoy acostumbrandome recien en la programacion con register_globals en off y quisiera saber como pasar variables por la url sin que se vean, es decir siempre cuando recoja la variable en otra pagina tengo que poner $_GET['variable'], tambien podria poner $_POST['variable']??? si es posible como puedo poner el link para k no se vea lo k envio????, es seguro k se vea la informacion k mando??? o alguien malintencionado puede sobreescribir la url y pasar otros valores de las variables??
Si ahora pasas variables de script1.php al script2.php .. por GET/POST .. puedes usar sesiones para "asegurar" el transito de variables. En ese método las variables quedan en el servidor y son referenciadas por un "SID" (Identificador Único de Sesión) .. los datos los accedes en los scripts que los necesites hasta que mates la sesión o te expire.

Todo depende de que estés haciendo .. Por ejemplo de un link HTML o formulario HTML .. no puedes usar "sesiones" .. las sesiones se crean en tu script PHP justo en ese momento .. no antes.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 08/08/2006, 18:38
 
Fecha de Ingreso: julio-2006
Mensajes: 114
Antigüedad: 17 años, 9 meses
Puntos: 0
Pregunta

Código PHP:
<?php
//muestra categorias de una consulta a una bd
function mostrar_categorias($cat_array)
{
  if (!
is_array($cat_array))
  {
     echo 
"<br><br><p><b>No hay categorías actualmente disponibles</b></p>";
     return;
  }
  echo 
"<br><br><table align=center><tr><td>";
  echo 
"<ul>";
  foreach (
$cat_array as $row)
  {
    
$url "productos.php?id_cat=".($row["id_cat"]);
    
$category $row["nombre_cat"];
    echo 
"<h3><li>"hacer_url($url,$category);
    echo 
"</h3><br>";
  }
  echo 
"</ul>";
  echo 
"</td></td></table>";
  echo 
"<hr>";
}

function 
hacer_url($url,$nombre)
{
  
// muestra link con la variable URL
  
echo "<a href=\"".$url."\">".$nombre."</a>";
}
?>
Pues este es el código que tengo, dentro de la función mostrar_categoria hay una parte donde hace la url, bueno quisiera que no se vea el id de la categoria, pero no se como.

Saludos,
Francisco
  #7 (permalink)  
Antiguo 08/08/2006, 18:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Así no puedes .. tu generas links .. ademas que será interesante para el Usuario de tu sistema poder manejar un link directo a esa información.

Por qué quieres ocultarlo?

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 08/08/2006, 18:57
 
Fecha de Ingreso: julio-2006
Mensajes: 114
Antigüedad: 17 años, 9 meses
Puntos: 0
Pues es una buena pregunta, pues creo -amigo Cluster (sorry la confianza)- que no es seguro, bueno eso creo .
  #9 (permalink)  
Antiguo 08/08/2006, 19:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Que no es seguro? ... Qué?

Si tu validas el dato que por el URL se pide a un script PHP (como asì màs o menos lo haces) no tendràs que tener problemas .. Una "adulteraciòn" del URL sòlo originará un error "controlado" de tu aplicaciòn .. nada màs.

Imagina que yo tengo que dar un link directo a un dato gestionado por tu aplicaciòn (con su categoría e ID respectivo) .. si tu me lo "ocultas" .. ya no puedo hacer eso como usuario y .. muchassssss veces es necesario.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #10 (permalink)  
Antiguo 08/08/2006, 19:44
 
Fecha de Ingreso: julio-2006
Mensajes: 114
Antigüedad: 17 años, 9 meses
Puntos: 0
WOW entonces el tema no va por seguridad sino por validar el dato que se pasa por la URL, te comentaba que no es seguro por k hay veces que se puede adulterar los valores de las variables al pasarlos via URL, claro que si hay una validación la cosa cambia.

Entonces hay algo k no me keda claro, sorry por la ignorancia en el tema de trabajar con register_globals en off y es que siempre trabaje en On, pero por ejemplo tengo este codigo:

Código PHP:

pagina1.php

<?php
echo "<a href=\"pagina2.php?nuevo=valororiginal\">Envia Valor Original</a>"
?>

pagina2.php

<?php
echo $_GET['nuevo'];
//debe mostrar "valororiginal" 
?>
Ahora lo inseguro de este codigo es k si pongo en la barra de direcciones esto, por ejemplo http://www.pagina2.php?nuevo=valoradulterado , lo que muestra en la pagina2.php es valoradulterado y ya no valororiginal, entonces algo similar pienso k puede pasar con mi link.

Saludos
  #11 (permalink)  
Antiguo 08/08/2006, 20:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
WOW entonces el tema no va por seguridad sino por validar el dato que se pasa por la URL, te comentaba que no es seguro por k hay veces que se puede adulterar los valores de las variables al pasarlos via URL, claro que si hay una validación la cosa cambia.
Si, eso es cierto .. todo dato que pueda "entrar" a un script tuyo ha de ser validado y desconfiar de el totalmente. Por eso no se trata de "ocultarlo" sino "validarlo" por què tú (tu aplicaciòn) sabe que dato esperar: si espero un número .. no me aceptes "caracteres" .. si hay un rango .. validalo .. si se trata de un registro X de una BBDD .. valida que exista antes de hacer nada .. etc.


Cita:
Entonces hay algo k no me keda claro, sorry por la ignorancia en el tema de trabajar con register_globals en off y es que siempre trabaje en On, pero por ejemplo tengo este codigo:
Realmente el uso o concepto de "register globals" no es el problema de "validaciòn" .. El uso de "register_globals" sòlo te presta una seguridad extra en el aspecto que -obliga- a tomar los valores de las variables que puedan llegar a tu script en forma externa (que no genera este) por su array superglobal asociado:

$_GET -> Links, redireccionamientos por el URL (javascirpt, HTML . etc)
$_POST -> Formularios HTML en method=POST (por què puede ser tambièn GET).

Cita:
Ahora lo inseguro de este codigo es k si pongo en la barra de direcciones esto, por ejemplo http://www.pagina2.php?nuevo=valoradulterado , lo que muestra en la pagina2.php es valoradulterado y ya no valororiginal, entonces algo similar pienso k puede pasar con mi link.
Si, .. eso nos sucede siempre .. por eso se trata de "validar" ese dato. En otras ocasiones tambièn te interesa que el dato se origine en tu script1.php y no en otro .. para ese tipo de casos es más seguro usar sesiones:

En script1.php registras tu variable de sesiòn -> redireccionas sin màs variables en el URL que indicar y en script2.php tomas tus variables de sesión.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #12 (permalink)  
Antiguo 08/08/2006, 20:23
 
Fecha de Ingreso: julio-2006
Mensajes: 114
Antigüedad: 17 años, 9 meses
Puntos: 0
bueno keda todo aclarado, gracias.
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 07:15.