Foros del Web » Programando para Internet » PHP »

Seguridad en enlaces

Estas en el tema de Seguridad en enlaces en el foro de PHP en Foros del Web. Hola , He hecho un php que modifica un dato de la base de datos y para evitar que la gente lo modifique a su ...
  #1 (permalink)  
Antiguo 26/03/2013, 05:57
 
Fecha de Ingreso: abril-2010
Mensajes: 267
Antigüedad: 14 años, 7 meses
Puntos: 1
Seguridad en enlaces

Hola ,
He hecho un php que modifica un dato de la base de datos y para evitar que la gente lo modifique a su antojo , he oído algo de "token" o "sesiones" , que sería por ej:
http://tuweb.com/enlace.php?token=24d43srdfg54r3
Y cuando salgas de la web , ese enlace no valga , es decir.. que a:
http://tuweb.com/enlace.php
No te deje entrar sin token , y si accedes de nuevo con el mismo , ese ya no funcione , de esta forma no puedan volver a entrar.
Y me gustaría que me ayudáseis a hacerlo , he estado buscando información en internet y no he encontrado algo que se ajuste a mi necesidad.
Muchísimas gracias.
  #2 (permalink)  
Antiguo 26/03/2013, 06:36
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 1 mes
Puntos: 175
Respuesta: Seguridad en enlaces

No vas a encontrar nada que se ajuste a tu necesidad, ya que todo es relativo.. es decir, encontraste algo, pero no intentaste hacer tu script y esperas que lo hagamos por tí??

Y sin que te enojes, a qué te refieres con "para evitar que la gente lo modifique a su antojo"?
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #3 (permalink)  
Antiguo 26/03/2013, 09:09
 
Fecha de Ingreso: abril-2010
Mensajes: 267
Antigüedad: 14 años, 7 meses
Puntos: 1
Respuesta: Seguridad en enlaces

Me explico..
Cuando los usuarios entran , cojen si id y en un campo suma +1 , me refiero que es para que no entren y salgan todo el rato y se sumen mucho , son puntos.
Sobre el script..
No sé hacerlo , he encontrado algo parecido en webs , pero no se ajusta a mi necesidad y quisiera pedir ayuda en este foro y me expliquen.
  #4 (permalink)  
Antiguo 26/03/2013, 09:41
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años, 7 meses
Puntos: 47
Respuesta: Seguridad en enlaces

Aún no queda muy claro lo que queres hacer por lo cual esta dificil dar alguna idea de como resolver y lo que dice loncho es muy correcto es necesario que busques la forma de hacer algo ya que aqui nunca te daremos una solución, te daremos una guia y podriamos ayudar a resolver un error pero todo eso basándonos en algo que ya tengas hecho de lo contrario está dificil
  #5 (permalink)  
Antiguo 26/03/2013, 11:44
 
Fecha de Ingreso: abril-2010
Mensajes: 267
Antigüedad: 14 años, 7 meses
Puntos: 1
Respuesta: Seguridad en enlaces

Hola ,
He encontrado algo muy similar a lo que busco , entro a una página que contiene un enlace..
Código:
<?php
$token = md5(microtime(TRUE) . rand(0, 100000));
session_start();
$_SESSION['token'] = $token;
$_SESSION['token-expires'] = time() + 20;
echo '<a href="enlace.php?token='.$token.'">Prueba</a>';
?>
Ese token que es generado está hecho para que a los 20 segundos después de su generación , si no es clickeado , el enlace ya no es válido , pero yo quiero que caduque con solo un click.
¿Cómo hago esto?
Cuando llegas a el archivo , en este caso enlace.php
Código:
<?php
$token = $_GET['token'];
session_start();
if (!isset($_SESSION['token'], $_SESSION['token-expires']))
{
    die ('token is required!');
}
$token = $_SESSION['token'];
$expires = $_SESSION['token-expires'];
$_SESSION['token'] = NULL;
$_SESSION['token-expires'] = 0;

if ($expires < time() || $token != $token)
{
    die ('Invalid or expired token!');
}
else
{
    print 'Token good!';
}
?>
Si no tiene el enlace token , te avisa , si es válido te deja paso y si han pasado los 20 segundos te salta un aviso.

Tengo 2 problemas..

1o: Estoy en 1and1 y cuando entro correctamente o caducado el link o incluso sin token me sale este mensaje debajo de mi contenido:

Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively in Unknown on line 0

2o: En vez de que caduque a los 20 segundos quisiera que caducase cuando ejecute el enlace , ¿esto como lo hago?

Muchas gracias!

Etiquetas: enlaces, seguridad
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 22:40.