Capitulos de este wiki
  1. 1 Información sobre la petición web en PHP con HttpRequest

Información sobre la petición web en PHP con HttpRequest - Información sobre la petición web en PHP con HttpRequest

1 - Información sobre la petición web en PHP con HttpRequest

[editar]
Tutorial creado por Patxi Echarte. Extraido de: http://www.eslomas.com/index.php/archives/2005/06/28/informacion-peticion-web-php-con-httprequest/
27 de Abril de 2006
Hay información referente al cliente, como su dirección IP o los encodings o idiomas soportados por el navegador, información referente a la propia petición, como la URL, parámetros GET y POST o cookies, e información referente al propio servidor, como ubicación del script que recibe la petición en el servidor, ruta donde está instalada la aplicación, etc

Toda esta información es de extrema utilidad para hacer nuestras aplicaciones y normalmente está diseminada por diferentes matrices y funciones. Hace ya algún tiempo preparé una clase de nombre HttpRequest, que permite reunir toda esta información en una única clase y que de paso la complementa con alguna otra funcionalidad. A la gente familiarizada con .NET, quizás le recuerde al interfaz de la clase que lleva el mismo nombre, ya que la idea está sacada parcialmente de ella.

Antes de explicar los atributos que hacen disponible toda esta información, hay que indicar dos características importantes que aporta esta clase y que no están contempladas de forma directa en PHP.

  • Dirección IP del usuario: la dirección ip que indica la clase es la real del usuario, aunque éste acceda a través de algún proxye. La función que se utiliza para ello es la comentada en el post obtención de la ip real de una visita web.
  • Información GET, POST y cookies: un problema frecuente en la portabilidad de las aplicaciones PHP es la utilización de las magic_quotes. Independientemente de si están activadas o no en el servidor, esta clase permite acceder al contenido de las matrices _GET, _POST y _COOKIE limpio de slashes. Para ello copia y limpia el contenido de estas matrices en atributos internos de la clase, por lo que aún seguiremos teniendo el valor original en ellas. Si lo que queremos es sustituirlas por sus contenidos “limpios”, en el ejemplo 2 que viene con el descargable se puede ver cómo hacerlo.

Tras estas dos puntualizaciones, vamos a ver el conjunto de atributos ofrecidos por la clase:

  • acceptTypes: matriz con los tipos de documentos aceptados por el navegador, en orden descendente de prioridad.
  • acceptLanguages: matriz con los lenguajes aceptados por el navegador, en orden descendente de prioridad.
  • acceptCharsets: matriz con los juegos de caracteres aceptados por el navegador, en orden descendente de prioridad.
  • browser: cadena de texto con la firma enviada por el navegador indicando su modelo, versión…
  • httpMethod: método de la petición, normalmente GET o POST
  • isAuthenticated: booleano que indica si el usuario ha realizado algún tipo de autenticación contra el servidor
  • authenticationUser: nombre de usuario indicado por el usuario. En caso de que isAuthenticated sea true, indicará que el usuario se ha autenticado con ese login, si isAuthenticated es false la autenticación deberíamos realizarla nosotros, por lo que este campo tenga valor no es suficiente para saber si está realmente autenticado en este caso.
  • authenticationPass: contraseña proporcionada por el usuario
  • isSecureConnection: indica si se está utilizando SSL en la conexión
  • applicationPath: ruta absoluta donde está ubicado el web (DOCUMENT_ROOT)
  • absoluteFilePath: ruta completa del script que se ha solicitado (PATH_TRANSLATED)
  • filePath: path del script solicitado a partir de la ruta del servidor web (PHP_SELF)
  • file: nombre del script solicitado
  • rawUrl: solicitud URL original (REQUEST_URI)
  • queryString: variables _GET. Si magic_quotes está activo se les elimina los slashes.
  • form: variables _POST. Si magic_quotes está activo se les elimina los slashes.
  • cookies: variables _COOKIE. Si magic_quotes está activo se les elimina los slashes.
  • serverVariables: matriz de variables del servidor
  • urlReferrer: solicitud anterior
  • hostAddress: dirección IP del servidor
  • hostName: nombre del servidor
  • remoteAddr: ip real del cliente
  • datetime: fecha y hora de la petición
  • date: fecha de la petición
  • time: hora de la petición

En el archivo de descarga se encuentra disponible la clase así como dos ejemplos básicos de utilización. El primero únicamente crea una instancia de la clase y muestra el contenido de todos los atributos, y el segundo ejemplo utiliza la clase para sobreescribir la matrices _GET, _POST y _COOKIE y disponer así de la información sin problemas con los magic_quotes.

Descargar el archivo: HttpRequest.tgz
[editar]

Sé el primero en opinar


Tutoriales relacionados con 'Información sobre la petición web en PHP con HttpRequest'

Cada vez que el servidor web recibe una petición de visualización de página hay mucha... Más »

Autor y licencia de 'Información sobre la petición web en PHP con HttpRequest'

De forma general todos los contenidos de este web están sujetos a una licencia del tipo Creative Commons “Algunos derechos reservados”. Salvo que se diga lo contrario la única restricción impuesta si quieres utilizar algo de lo que aparece en este web, es la de indicar que el autor soy yo, Patxi Echarte.
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.