Ver Mensaje Individual
  #5 (permalink)  
Antiguo 19/06/2013, 10:45
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Prevenir: Codigo Malicioso en URL

bueno haber

Código PHP:
Ver original
  1. <?php
  2. if(!isset($_GET['id'])){
  3.      header('Location: index.php');
  4. //SI NO EXISTE, REDIRIJO A INICIO, PODRIA HACER CUALQUIER OTRA COSA, PERO PARA SALIR DEL PASO ELIJO ESTA CONSECUENCIA
  5. }else if(count($_GET) > 2){
  6.      header('Location: index.php');
  7. //SI HAY MAS DE DOS PARAMETROS (ES DECIR, FUE AÑADIDO UNO A MANO POR URL), REDIRIJO A INICIO
  8. }
  9. $id = urldecode($_GET['id']);
  10. $id = trim($id);
  11. $id = seguro($id);
  12. /*ESTAS FUNCIONES SON POR SI ALGUIEN AÑADE ALGO A LA URL MANUALMENTE
  13. Y LOGRANDO SALTAR EL PRIMER FILTRO (DE CANTIDAD DE PARAMETROS,
  14. ES DECIR, QUE LO AÑADEN AL PARAMETRO ID).
  15. La funcion seguro es definida por el usuario (en este caso yo)
  16. y realiza cosas como reemplazar TODO tipo de caracteres especiales,
  17. escapar caracteres, sacar tags html, etc. */
  18. ?>

te refieres ha si yo como usuario escribo en la url algo asi archivo.php?id=<script >scripting</script> esto se ejecutaria antes de que tu valides el dato ? pues segun mi opinion es que asi es seguro si tu validas antes de hacer `por ejemplo echo $_GET['id']; no tiene por que haber problema .

pero una recomendacion es no pasar datos de la base de datos mediante la url , usa en ese caso si es posible sessiones y te quitas de problemas, supongo que ese id es el id de usuario ? y no es muy seguro hacer eso si es tu caso que creo que si y en caso de hacerlo deberias hacerle una codificacion de doble sentido o hashearlo no lo tengo en tu caso muy claro por que no se que es el id que envias

en vez de

web.archivo.php?id=juan usamos web.archivo.php?id=nh4kj3hti84th3ht89th4593ht

pero te recomiendo sessiones por seguridad