Enlaces
Esta en:

documentos
Arriba
Bind-9
Bind-8
Ad+bind
Dhcp
Kdephp
Shell
Trucos
Php
Documentos
Cuestiones php
Fedora
Legal
W2000 xp
COMOS
Errores dns

[PHP-ES] escape automático al recoger parámetros URL

Write haof XML files: Carlos Grima <listas_at_carlosgrima.com>
Fecha: Sat, 25 Aug 2007 21:02:10 +0200

Hola a todos:

Imaginad una web que imprime por la pantalla lo que se ha recibido por
un parámetro URL llamado "nombre":

<?php
echo $_REQUEST["nombre"];
?>

Supongamos que el script se llama "saludar.php". Bien, si el parámetro
nombre tiene caracteres alfanuméricos, espacios, etc. todo va bien.

Pero si el parámetro nombre tiene comillas o barras invertidas, entonces
el script saludar.php automáticamente "escapa" el nombre y delante de
cada comilla añade la barra invertida. Es decir, el contenido del
parámetro nombre se cambia automáticamente!!!

Pruébenlo poniendo en el navegador la siguiente URL (suponiendo que el
servidor está en localhost en el puerto 80, que es lo que por defecto
pone el Apache):

http://localhost/saludar.php?nombre="pepe"

saludar.php debería imprimir "pepe" por pantalla (con las comillas),
pero sin embargo imprime \"pepe\". Y no es un problema de echo o print,
ya que si hacemos un srtlen($_REQUEST["nombre"]) resulta que nos
devuelve 8 caracteres en vez de 6!!! Es decir, el string
$_REQUEST["nombre"] ha sido modificado!!

Esto no ocurre en otros lenguajes como JSP. ¿Qué solución existe para
que al tomar un parámetro URL automáticamente el PHP no me lo "escape"?

Muchas gracias por vuestra inestimable ayuda y por vuestro tiempo.

-- 
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
Nearby dom ago 26 2007 - 00:23:02 CEST

Este archivo fue generado por hypermail 2.2.0 : mié nov 07 2007 - 20:55:37 CET


Página Principal
Google

Web
dns.bdat.net

Visita nuestro proveedor:
www.bdat.net

Publicidad:

Impresenteibols:Humor Jazz, música en vivo