Interfaz de entrada común

Embed Size (px)

Citation preview

Interfaz de entrada comnLa interfaz de pasarela comn (Common Gateway Interface, CGI) es un protocolo genrico que permite extender las capacidades de HTTP. Los programas en CGI aaden funcionalidad al servidor Web, funcionalidad que podra abrir agujeros de seguridad en el servidor, ya que una aplicacin en CGI mal diseada podra permitir acceso total o parcial al servidor.A lo largo de estas pginas hablaremos en general de aplicaciones y programas en CGI, si bien suele distinguirse entre programas (programs) y guiones (scripts). Los primeros se consideran escritos en algn lenguaje compilado como C, mientras que los segundos son los escritos en un lenguaje interpretado como Perl. Ms adelante discutiremos las ventajas e inconvenientes desde el punto de vista de la seguridad que plantea cada una de las dos formas de escribir las aplicaciones en CGI (programas o guiones).En general, es necesaria la presencia de dos elementos, una pgina Web en formato HTML con un formulario donde el usuario introduce sus datos, y un programa CGI en el servidor, que recibe y procesa los datos del usuario.En la siguiente pgina se muestra desde una perspectiva de alto nivel cmo funciona elmecanismode entrega y procesamiento de datos en un programa CGI.CGI redirige aqu. Para otras acepciones, vase CGI (desambiguacin).Interfaz de entrada comn (en ingls Common Gateway Interface, abreviado CGI) es una importante tecnologa de la World Wide Web que permite a un cliente (navegador web) solicitar datos de un programa ejecutado en un servidor web. CGI especifica un estndar para transferir datos entre el cliente y el programa. Es un mecanismo de comunicacin entre el servidor web y una aplicacin externa cuyo resultado final de la ejecucin son objetos MIME. Las aplicaciones que se ejecutan en el servidor reciben el nombre de CGIs.Las aplicaciones CGI fueron una de las primeras prcticas de crear contenido dinmico para las pginas web. En una aplicacin CGI, el servidor web pasa las solicitudes del cliente a un programa externo. Este programa puede estar escrito en cualquier lenguaje que soporte el servidor, aunque por razones de portabilidad se suelen usar lenguajes de script. La salida de dicho programa es enviada al cliente en lugar del archivo esttico tradicional.CGI ha hecho posible la implementacin de funciones nuevas y variadas en las pginas web, de tal manera que esta interfaz rpidamente se volvi un estndar, siendo implementada en todo tipo de servidores web.HTTPHypertext Transfer Protocol o HTTP (en espaol protocolo de transferencia de hipertexto) es el protocolo usado en cada transaccin de la World Wide Web. HTTP fue desarrollado por el World Wide Web Consortium y la Internet Engineering Task Force, colaboracin que culmin en 1999 con la publicacin de una serie de RFC, el ms importante de ellos es el RFC 2616 que especifica la versin 1.1. HTTP define la sintaxis y la semntica que utilizan los elementos de software de la arquitectura web (clientes, servidores, proxies) para comunicarse. Es un protocolo orientado a transacciones y sigue el esquema peticin-respuesta entre un cliente y un servidor. Al cliente que efecta la peticin (un navegador web o un spider) se lo conoce como "user agent" (agente del usuario). A la informacin transmitida se la llama recurso y se la identifica mediante un localizador uniforme de recursos (URL). Los recursos pueden ser archivos, el resultado de la ejecucin de un programa, una consulta a una base de datos, la traduccin automtica de un documento, etc.HTTP es un protocolo sin estado, es decir, que no guarda ninguna informacin sobre conexiones anteriores. El desarrollo de aplicaciones web necesita frecuentemente mantener estado. Para esto se usan las cookies, que es informacin que un servidor puede almacenar en el sistema cliente. Esto le permite a las aplicaciones web instituir la nocin de "sesin", y tambin permite rastrear usuarios ya que las cookies pueden guardarse en el cliente por tiempo indeterminado.APIInterfaz de programacin de aplicaciones (IPA) o API (del ingls Application Programming Interface) es el conjunto de funciones y procedimientos (o mtodos, en la programacin orientada a objetos) que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstraccin. Son usadas generalmente en las bibliotecas.Una interfaz de programacin representa la capacidad de comunicacin entre componentes de software. Se trata del conjunto de llamadas a ciertas bibliotecas que ofrecen acceso a ciertos servicios desde los procesos y representa un mtodo para conseguir abstraccin en la programacin, generalmente (aunque no necesariamente) entre los niveles o capas inferiores y los superiores del software. Uno de los principales propsitos de una API consiste en proporcionar un conjunto de funciones de uso general, por ejemplo, para dibujar ventanas o iconos en la pantalla.INTRANETUna intranet es una red de ordenadores privados que utiliza tecnologa Internet para compartir dentro de una organizacin parte de sus sistemas de informacin y sistemas operacionales. El trmino intranet se utiliza en oposicin a Internet, una red entre organizaciones, haciendo referencia por contra a una red comprendida en el mbito de una organizacin como SVACMSUn sistema de gestin de contenidos (o CMS, del ingls Content Management System) es un programa que permite crear una estructura de soporte (framework) para la creacin y administracin de contenidos, principalmente en pginas web, por parte de los administradores, editores, participantes y dems roles.Consiste en una interfaz que controla una o varias bases de datos donde se aloja el contenido del sitio web. El sistema permite manejar de manera independiente el contenido y el diseo. As, es posible manejar el contenido y darle en cualquier momento un diseo distinto al sitio web sin tener que darle formato al contenido de nuevo, adems de permitir la fcil y controlada publicacin en el sitio a varios editores. Un ejemplo clsico es el de editores que cargan el contenido al sistema y otro de nivel superior (moderador o administrador) que permite que estos contenidos sean visibles a todo el pblico (los aprueba).php_mysql.dllphp_mysql.dll es un php_mysql.dll el pertenecer a PHP php_mysql.dll de The PHP Group Los procesos no pertenecientes al sistema como php_mysql.dll proceden del software que ha instalado en su sistema. Puesto que la mayora de aplicaciones almacenan datos en el registro del sistema, es probable que su registro haya sufrido fragmentacin y acumulado entradas no vlidas que pueden afectar al rendimiento de su PC. Se recomienda que compruebe su registro para identificar problemas de ralentizacin.Qu es una API?Una Interfaz de Programacin de Aplicaciones, o API, define las clases, mtodos, funciones y variables que necesitar llamar una aplicacin para llevar a cabo una tarea determinada. En el caso de las aplicaciones de PHP que necesitan comunicarse con un servidor de bases de datos, las APIs necesarias se ofrecen generalmente en forma de extensiones de PHP.Las APIs pueden ser procedimentales u orientadas a objetos. Con una API procedimental invocan funciones para llevar a cabo las tareas, mientras con con una API orientada a objetos se instancian clases, y entonces se invocan a mtodos de los objetos creados. Entre ambas opciones, la segunda es generalmente la va recomendada, puesto que est ms actualizada y conlleva una mejor organizacin de cdigo.Cuando se escriben aplicaciones PHP que necesitan conectar a un servidor MySQL, existen varias opciones disponibles respecto a API. Este documento abarca esas opciones, y ayuda a elegir la mejor solucin para cada aplicacin.Pag 28Los navegadores que no aceptan cookies son todos los que esten con esa opcion... en terminos mas objetivos, TODO navegador podria eventualmente no aceptar cookie si el usuario asi lo define (ignoro si alguno venga por defecto con las cookies desactivadas)

Unacookiedefinida como arrayUna cookie puede contener varios valores agrupados en un array. Para ello basta con incluir en setcookie el nombre y el ndice de un array utilizando unsetcookiepor cada uno de loselementos del arraytal como puedes ver en el ejemplo. Para leer las cookies enviadas de esta forma bastar con leer el array devuelto.Cuidado!

Fjate en la sintaxis desetcookiedel ejemplo. Los nombres de los ndices del array no se escriben entre comillas.Observa tambin que al leer los datos de la cookie hemos de tratarla como un array bidimensional. El primer ndice el nombre de la cookie (en nombre del array que contiene la informacin) y el segundo ser el nombre concreto de cada uno de los ndices tal como han sido creados.

NombreDescripcin

ACTIONEste atributo es obligatorio. Especifica la URL -direccin- a la que se envan los datos contenidos en el formulario. La direccin es del programa que procesa los datos, generalmente localizado en un directorio llamadocgi-bin. Puede usarse los protocolos HTTP o MAILTO.

METHODEste atributo es obligatorio. Indica el mtodo en que se enviarn los datos hacia el servidor. Solamente hay dos valores (mtodos):GET(por defecto) yPOST.

ENCTYPEEspecifica el tipo de envo MIME de datos, con el mtodo POST. Por defecto, asume el valorapplication/x-www-form-urlencoded. El otro cdigo esmultipart/form-data, solamente soportado por Netscape. (Cuando los datos son enviados al servidor, el programa visor codifica siempre los datos por seguridad). Es poco utilizado.

ACCEPT-CHARSETEspecifica la lista de cdigos de caracteres para los ingresos de usuarios. Puede inclur una o ms listas de cdigos, definidas en RFC2045. Por defecto, asume el valorunknown.

ACCEPTEspecifica una lista MIME para el correcto procesamiento del formulario.

STYLEEspecifica informacin de estilo sobre un simple elemento del documento. Los valores se colocan segn el formato "nombre:valor", separados por ";".

TITLEPara titular un documento o una seccin del mismo. Algunos programas visores pueden colocar el valor de este atributo como texto insertado o audio.

CLASSPara sealar qu tipo de texto contiene el formulario. Este atributo solamente es reconocido por los visores emacs.W3 y Arena; es ignorado por los otros. Su uso identificatorio dentro del contexto dehojas de estilo, ha ampliado su valor, as como su visualizacin por todos losbrowsersque aceptanCSS.

IDIdentifica el prrafo. Acta como NAME. No puede haber en el documento unidy unnamecon el mismo valor.

DIRPara indicar la direccin del texto.

LANGPara indicar el idioma del texto.

TARGETDa el nombre de una ventana o seccin a la que son enviados los datos. Solamente para Netscape e Internet Explorer.