Nueva pregunta

Pregunta:

Fecha: 26-02-2016 18:09:29 (En Español)

¿Como evito que concatenen informacion no deseada en un url en php?[No resuelta]

Yo concateno información en la url para enviarla a la siguiente pagina y de esta forma usarla pero me gustaria que si intentan concatenar información incorrecta saliera una pagina de error, uso un archivo .htaccess para que cuando pongan un pagina que no existe marque error y sale una pagina de error 404 personalizada... Etiquetas: $_GET - $_POST - PHP - Pregunta Votos: 3 - Respuestas: 2 - Vistas: 11 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 26-02-2016 22:25:38 Aquí tienes más de una pregunta, veamos:

    * ¿Como evito que concatenen informacion no deseada en un url en php?: no puedes evitarlo, quien quiera armar un query string y enviarlo lo podrá hacer, quedará del lado del servidor descartar el query string no esperado, por eso desaconsejo utilizar funciones como extract() para datos envíados por get/post.

    Interesante que ya la documentación oficial lo desaconseja también:
    Advertencia: No use extract() en datos que no son de confianza, como las entradas de usuario (esto es, $_GET, $_FILES, etc.). Si lo hace, por ejemplo si quiere ejecutar temporalmente código antiguo que dependía de register_globals temporalmente, asegúrese de usar uno de los valores de flags que no sobrescriban, como EXTR_SKIP, y sepa que debería realizar la extracción en el mismo orden que fue definido en variables_order dentro de php.ini.

    * Luego entiendo que preguntas: ¿Cómo enviar al usuario automaticamente a una página 404 (u otro mensaje) ante el pase de un query string (parametros) invalidos?
    Digamos que aquí deberás validar que lleguen los parametros necesarios, de no ser así hacer un header location con PHP y listo, lo envías a donde quieres, si no sabes como hacer esto revisa mi explicación aquí: http://www.phpcentral.com/pregunta/15/problema-al-redirigir-a-pagina-anterior#resp_e2c420d928d4bf8ce0ff2ec19b371514
    No debería importarte que envíen otros parametros dentro del query string, ya que no los considerarías nunca, y de ser un query string muy grande (al estilo ataque DoS) por lo general lo deniega la configuración del servidor o cortafuegos configurados en el datacenter (siempre hablando de lo ideal).

    Saludos!
      Votos: 2 - Link respuesta
     
  • Fecha: 27-02-2016 01:30:58 Hola, sumado a lo que respondieron anteriormente, depende de qué datos envíes por HTTP GET, yo recomiendo no enviar datos mediante query string porque tiene un límite de tan sólo 1kb. Si concatenan demasiado, puede pasar ese límite y ya sabes lo que pasa.   Votos: 3 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com