Implementación de una cuenta bancaria con Ajax en un carrito de la compraImplementación de una cuenta bancariaImplementación de una cuenta bancaria es similar a la aplicación de un carrito de compras. La única diferencia real es que se necesita de seguridad. Por ejemplo, si los registros de mariguana en su cuenta y se hace referencia a la URL / account / mariguana, entonces usted sólo desea mariguana o una persona adecuada para ver los datos. ¿Alguien más debería obtener un inválido credenciales de seguridad de error. El resto de este artículo se centrará en cómo el uso de cookies y autenticación HTTP para autenticar a los usuarios: • HTTP cookies: HTTP cookies son identificadores enviado en la cabecera HTTP entre el cliente y el servidor. El servidor es responsable de generar una "cookie", y el cliente es responsable de enviar la cookie al servidor para una determinada dirección URL y sus descendientes. • Autenticación HTTP: Al usar la autenticación HTTP, es posible autenticar a los usuarios. Entonces, cuando el contenido de la solicitud de los usuarios de un dominio URL dada, el cliente envía la información de autorización. Autentificación HTTP es similar a una galleta, salvo que el usuario debe autenticarse a sí mismos. Si usted utiliza cookies o autenticación HTTP, los clientes envían una señal cada vez que desean acceder a una URL determinada. El servidor validará si el testigo tiene permiso para acceder a la URL. Uso de Cookies para autorizar el acceso de
HTTP cookies4 tienen una mala reputación, en parte inmerecida, y por tanto, muchos argumentan que no se debe utilizar cookies. El problema con las cookies no tiene que ver con su teoría, sino con su aplicación y repercusiones. Como una analogía de la vida real, considerar la posibilidad de un centro comercial donde alguien te da una señal a la entrada, que puede aceptar o rechazar . Si usted se niega la razón y entrar en el centro comercial, todas las puertas de la tienda de repente cerca. Usted puede pasear al centro comercial, pero sólo se puede mirar la mercancía a través de las ventanas. Todavía se puede ver el contenido y todo lo que ofrece la tienda, pero está detrás de vidrio. Por otra parte, si acepta la clave, las puertas de la tienda permanecerá abierta, y usted puede hojear todos los productos. Para ser útil, los empleados de las tiendas ofrecen recomendaciones sobre las mejores ofertas en el centro comercial. Sin embargo, hay un tono oscuro a la experiencia: el centro comercial está observando cada paso que hacer, y todo lo que mira está siendo rastreado. Por supuesto, el centro comercial le asegura que la información no será utilizada para otros fines, pero la pregunta es, ¿de dónde las recomendaciones o las mejores ofertas vienen? Las fichas o las cookies se utilizan para rastrear a las personas. Estoy dividida en relación con el uso de cookies no encuentro nada muy preocupante acerca de ellos, ni estoy entusiasmado con ellos. Cookies HTTP son un medio para un fin. Generación de la Cookie Es posible generar un HTTP cookie5 sin utilizar ninguna ayuda de una biblioteca. Debido a la prevalencia de las cookies, la mayoría de las bibliotecas de lado del servidor tienen clases o funciones para generar las cookies basado en algunos parámetros. Utilizando el servidor disponible bibliotecas de lado es muy recomendable. Generación de la cookie mediante el servidor de bibliotecas de lado no es difícil. Cuando ASP.NET utilizando, debe utilizar el siguiente código: MyCookie HttpCookie = new HttpCookie ( "Sample", "myvalue"); mycookie.Path = "/ ajax/chap07"; Page.Response.Cookies.Add (MyCookie); Crear instancias de una "cookie" (HttpCookie), y en aminimum, se especifica la clave (la muestra) y valor (myvalue). La combinación de teclas-valor es enviada entre el cliente y el servidor. La mycookie.Path propiedad cookie especifica que las direcciones URL y sus descendientes la cookie es válida. Comparando esto con la autenticación HTTP, la ruta de las cookies es igual al reino de autenticación HTTP. Agrega la cookie de nueva creación a la respuesta utilizando el método de Page.Response. Cookies.Add. Cuando una cookie, se añade, la respuesta HTTP genera una cookie con el Set-Cookie cabecera HTTP, como lo ilustra la siguiente respuesta HTTP del servidor: HTTP/1.0 200 OK Servidor: Mono-XSP Server/1.1.13.0 Unix X-Powered-By: Mono Fecha: Mon, 28 Aug 2006 17:31:14 GMT Content-Type: text / html; charset = utf-8 Set -Cookie: Muestra = myvalue path = / ajax/chap05 Content-Length: 388 Keep-Alive: timeout = 15, max = 99 Connection: Keep-Alive La muestra "cookie" tiene un valor de myvalue y es válida para la ruta / ajax/chap05. Porque no hay expira el valor, la cookie es válida sólo para la vida del navegador. Si se cierra el navegador, la cookie se elimina, por lo tanto comportarse como una autenticación basada en HTTP identificador de usuario. Comprensión de cómo el cliente administra la cookie Cuando el cliente recibe la cookie, la cookie se guarda automáticamente si el cliente es un navegador o el objeto XMLHttpRequest del navegador. De hecho, el código JavaScript en el cliente no tiene absolutamente nada que ver con el cookie asignado, ya que todo ocurre de forma transparente . Por ejemplo, si un navegador carga una página y una "cookie" es asignado para todo el dominio, la cookie se enviará cuando el objeto XMLHttpRequest llama a una página dentro del dominio. Guardar información confidencial, como contraseñas o cualquier tipo de información personal, dentro de la cookie no es recomendable. Una cookie es una referencia a la información, no un repositorio de información. Cuando los usuarios han sido autenticados por otros medios, una "cookie" sólo debe utilizarse como prueba para identificar al usuario. La identificación de un usuario con una galleta Cuando el servidor genera una cookie, no significa nada, porque una "cookie" es sólo un símbolo. La cookie debe ser cotejada con un usuario específico. Referencias cruzadas a la clave, debe aplicar un mecanismo de autenticación. Usted podría utilizar uno de los dos mecanismos de autenticación. En primer lugar, podría atar la cookie de autenticación HTTP. En segundo lugar, puede crear una página HTML que asocia la cookie con un usuario. Uso de la autenticación HTTP para asociar un usuario con una cookie implicaría la protección de un archivo que requiere una autenticación explícita. Cuando el usuario se autentica mediante la autenticación HTTP, el archivo protegido es responsable de la asociación de la cookie y la información de autenticación. El usuario no tiene que ser autenticada mediante la autenticación HTTP. Un formulario HTML se podría utilizar en su lugar. Usando el formulario HTML, usted es responsable de proporcionar el código que maneja un usuario. Debido a este código agregado, el mecanismo de autenticación HTTP es preferido, porque es la base del protocolo HTTP. Uso de la autenticación HTTP Autenticación HTTP, es probablemente una de las técnicas más infrautilizado de la creación de un identificador de usuario. La mayoría de las aplicaciones Web tienden a preferir las cookies, pero la autenticación HTTP ofrece algunos todavía-a-ser-discutió las opciones de que las cookies HTTP no. En los años noventa, la autenticación HTTP no era muy conocido y fue considerado en general, inseguro, porque el cliente siempre se a enviar el nombre de usuario y contraseña para el servidor cada vez que se realiza una autorización. Para solucionar el problema de seguridad, una forma más segura de autenticación HTTP fue creado, llamado De autenticación HTTP Digest. Recopilación de autenticación HTTP no fue ampliamente distribuido en los primeros días de la Web. Por supuesto, hoy que no es el caso, ya que cada navegador, o al menos la mayoría de navegadores, compatibilidad con HTTP autenticación implícita. Autenticación HTTP, es una bendición y una maldición, en el que los usuarios deben autenticarse a sí mismos cada vez que salga y reinicie el navegador. La bendición es que la información de autenticación no se envía automáticamente, y la maldición es que los usuarios deben autenticarse a sí mismos antes de iniciar una sesión en el sitio AWeb. Algunos pueden considerar que deberán ser autenticados una desventaja, pero cuando la seguridad es importante, mediante la autenticación HTTP asegura que otorga los derechos correcta para el usuario identificado. A nivel técnico, la autenticación HTTP es un mecanismo mediante el cual un usuario solicita el contenido de un recurso, y el servidor emite un reto, pedir identificación. Después de que el usuario introduce la información apropiada, el servidor autenticar el usuario. Si la autenticación de obras, el navegador descarga la representación de los recursos. A HTTP Digest típica conversación de autenticación se describe en los pasos siguientes. El proceso comienza con el cliente solicita un recurso: GET / test / HTTP/1.1 Host: Júpiter: 8100 User-Agent: Mozilla/5.0 (compatible; PPC Mac OS X Mach-O; en-US; rv: 1.7.8) Gecko/20050511 Accept: text / xml , / xml, application / xhtml + xml, text / html; q = 0.9, text / plain; q = 0.8, image / png ,*/*; q = 0.5 Accept-Language: es-es, es; q = 0.5 Accept-Encoding: gzip, deflate Accept-Charset: ISO-8859-1, utf-8; q = 0.7, *; q = 0.7 Keep-Alive: 300 Connection: Keep-alive El recurso está protegido, y por lo tanto el servidor de un reto para una autenticación: HTTP/1.1 401 Authorization Required Fecha: Sun, 27 Aug 2006 14:00:05 GMT Server: Apache/2.0.53 (Ubuntu) PHP/4.3.10-10ubuntu4 WWW-Authenticate: Digest realm = " de dominio privado ", nonce =" 0hvlrVH/AwA = 8225d4804076a334d81181695204fee405adaaee ", algorithm = MD5, dominio =" / test ", qop =" auth "Content-Length: 497 Keep-Alive: timeout = 15, max = 100 Connection: Keep - Alive Content-Type: text / html; charset = iso-8859-1
El cliente recibe el código de error HTTP 401 y busca la cabecera HTTP WWW-Authenticate. El valor de HTTP WWW-Authenticate que contiene el mecanismo de autenticación que se solicita. En este ejemplo, HTTP, la autenticación implícita se solicita. Como nota al margen, es posible utilizar la autenticación básica, sino porque no se considera seguro, es evitado. Como respuesta al desafío, el explorador genera un cuadro de diálogo, pidiendo un nombre de usuario y contraseña. El usuario escribe el nombre de usuario y contraseña, lo que hace que el navegador para volver a enviar la solicitud original con el agregado de información de autenticación de usuario, como se muestra aquí: GET / test / HTTP/1.1 Host: localhost: 8100 User-Agent: Mozilla/5.0 (compatible; PPC Mac OS X Mach-O; en-US; rv: 1.7.8) Gecko/20050511 Accept: text / xml , / xml, application / xhtml + xml, text / html; q = 0.9, text / plain; q = 0.8, image / png ,*/*; q = 0.5 Accept-Language: es-es, es; q = 0.5 Accept-Encoding: gzip, deflate Accept-Charset: ISO-8859-1, utf-8; q = 0.7, *; q = 0.7 Keep-Alive: 300 Connection: Keep-Autorización vivo: Digest username = "cgross", realm = "dominio privado", nonce = "0hvlrVH/AwA = 8225d4804076a334d81181695204fee405adaaee" uri = "/ test /", algorithm = MD5, response = "fc4ec419438f87a540d8898a537ea401", qop = auth, nc = 00000001, cnonce = "01b6730aae57c007", La solicitud resultante es similar a la solicitud inicial, salvo que hay una cabecera HTTP adicionales, Autorización. Cuando se enfrenta con la petición de la misma URL, el servidor busca la cabecera HTTP de autorización. Si el servidor encuentra la cabecera, el servidor de verificar la información y luego, dependiendo de la verificación, o bien devolver otro error HTTP 401, haciendo que el navegador para generar un cuadro de diálogo que pide al usuario que se autentifique a sí mismo, o considerar al usuario autenticado. Si la información de autenticación suministrada es correcta, la representación de asociados se ha descargado. Cuando se utiliza la autenticación HTTP, la cabecera HTTP de autorización se envía en todas las URL y sus dependientes que fueron especificados por la cabecera WWW-Authenticate enviado por el servidor. En este ejemplo, el dominio de valores = "/ test" se refiere a la dirección única por prueba y sus dependencias. La aplicación de la autenticación HTTP Usted no debe escribir ningún código que gestiona la autenticación HTTP. Todos los servidores Web son capaces de administrar la autenticación HTTP, y usted debería dejar esto como un ejercicio administrativo. Esto no significa que usted no utiliza la autenticación HTTP. Aún necesitamos saber si un usuario está autenticado, y necesidad de asociar a ese usuario a la información del identificador de usuario. Desde una perspectiva programática, la información de autenticación está disponible por el servidor proporcionado por la estructura de solicitud. Autenticación cuando no es necesaria Uno de los efectos secundarios de la autenticación HTTP es que el contenido suele ser protegidas o no protegidas. Tradicionalmente, y por eso se utilizan las cookies de autenticación HTTP no puede ser desactivado para un recurso y luego se volvió de nuevo por el mismo recurso. Eso sería confundir a los usuarios, porque tal y como está ahora, la autenticación HTTP es una configuración global y no una configuración individual. En otras palabras, si se requiere autenticación para uno, entonces es necesaria para todos. Esto podría plantear un problema. Supongamos que un usuario está navegando en una página y quiere comprar algo, que el usuario se necesita un carro de la compra. Sin embargo, un identificador de usuario es necesaria para implementar un carrito de compras. Para crear un carrito de compras, sin protección de los recursos deben ser protegidos, pero la protección es global, por lo que todo el mundo se necesita obtener un carrito de la compra después de hojear la primera página de un sitio de compras y empieza a comprar algo. Buena idea para poner en marcha una economía, pero no va a suceder. Para solucionar esta cuestión de la protección a veces, puede utilizar una técnica de autenticación HTTP, como sigue: 1. Que el usuario navega por la web como de costumbre (por ejemplo, http://mydomain.com/browse). 2. En cada página navegado, añadir un enlace protegidas para indicar que el usuario desea ser autenticado (http://mydomain.com/browse/authenticate). 3. Cuando el usuario hace clic en el enlace de autenticación después de la autorización, los reinos de HTTP (dominios) que incluyen el contenido no protegido se asignan en la respuesta (http://mydomain.com/browse). 4. Cuando el usuario navega por la dirección http://mydomain.com/browse, la información de identificación del usuario se envía, aunque no es necesario. Este truco funciona muy bien si se utiliza la autenticación HTTP Digest. El siguiente ejemplo de configuración de Apache HTTPD utiliza esta técnica: Directorio "/ var / www / Buscar / autenticar"> AllowOverride AuthConfig AuthType Digest AuthDigestDomain / Buscar / Buscar / autenticar AuthDigestFile "/ etc/apache2/digestpasswd" AuthName "dominio privado" Require valid-user La técnica es aplicada por el elemento de configuración AuthDigestDomain, donde tanto la URL / navegar y / Explorar / autenticar se hace referencia. Debido a que el elemento de configuración referencias Directorio de la URL / Buscar / autenticar, sólo la URL / Buscar / autenticar serán desafiados por una autenticación. Para ilustrar que la técnica realmente funciona, considere la conversación siguiente HTTP. En primer lugar, se realiza una solicitud de un recurso sin protección: GET / Explorar / HTTP/1.1 Host: Júpiter: 8100 User-Agent: Mozilla/5.0 (compatible; Windows NT 5.0; en-US; rv: 1.7.5) Gecko/20041220 K-Meleon/0.9 Accept: text / xml, application / xml, application / xhtml + xml, text / html; q = 0.9, text / plain; q = 0.8, image / png ,*/*; q = 0,5El servidor responde, como de costumbre con un código HTTP 200 retorno, que hace que el cliente para cargar la página resultante. Luego, el cliente realiza una nueva solicitud a la relación protegida, porque el usuario quiere comprar y necesita ser autenticado. El cliente realiza la siguiente solicitud para el contenido protegido: GET / Explorar / autenticar HTTP/1.1 Host: 192.168.1.103:8100 User-Agent: Mozilla/5.0 (compatible; Windows NT 5.0; en-US; rv: 1.7.5) Gecko/20041220 K-Meleon/0.9 Aceptar : text / xml, application / xml, application / xhtml + xml, text / html; q = 0.9, text / plain; q = 0.8, image / png ,*/*; q = 0.5 El servidor responde con un desafío de autenticación: HTTP/1.1 401 Autorización requerida Fecha: Mon, 28 Aug 2006 16:08:28 GMT Server: Apache/2.0.53 (Ubuntu) PHP/4.3.10-10ubuntu4 WWW-Authenticate: Digest realm = "dominio privado", nonce = "yiLhlmf / AWA = e1bafc57a6151c77e1155729300132415fc8ad0c", algorithm = MD5, dominio = "/ Explorar / Explorar / autenticar", qop = "auth" Content-Length: 503 Content-Type: text / html; charset = iso-8859-1En la respuesta del servidor para el identificador de dominio, sin protección es un recurso definido. Esta es la técnica utilizada para enviar información de autorización de contenido no protegido. El cliente responde con la autenticación de usuarios, como sigue: GET / Explorar / autenticar HTTP/1.1 Host: 192.168.1.103:8100 User-Agent: Mozilla/5.0 (compatible; Windows NT 5.0; en-US; rv: 1.7.5) Gecko/20041220 K-Meleon/0.9 Aceptar : text / xml, application / xml, application / xhtml + xml, text / html; q = 0.9, text / plain; Q = 0.8, image / png ,*/*; q = 0,5 Authorization: Digest username = "cgross" , realm = "dominio privado", nonce = "yiLhlmf / AWA = e1bafc57a6151c77e1155729300132415fc8ad0c", uri = "/ Buscar / autenticar", algorithm = MD5, response = "c9b5662c034344a06103ca745eb5ebba", qop = auth, nc = 00000001, cnonce = "082c875dcb2ca740",Después de la autenticación, el servidor permite la descarga de contenido protegido. Ahora bien, si el cliente navega por las URL sin protección otra vez, la información de autorización se pasa al servidor, como se ilustra en la siguiente petición: GET / Explorar / morecontent / HTTP/1.1 Host: Júpiter: 8100 User-Agent: Mozilla/5.0 (compatible; Windows NT 5.0; en-US; rv: 1.7.5) Gecko/20041220 K-Meleon/0.9 Accept: / xml, text / xml, application / xhtml + xml, text / html; q = 0.9, text / plain; q = 0.8, image / png ,*/*; q = 0,5 Authorization: Digest username = "cgross", realm = "dominio privado", nonce = "yiLhlmf / AWA = e1bafc57a6151c77e1155729300132415fc8ad0c", uri = "/ Buscar / morecontent /", algorithm = MD5, response = "18ccd32175ce7a3480d5fbbc24de8889", qop = auth, nc = 00000005, cnonce = "0d448aca73b76eb1", Para esta solicitud, el cliente ha enviado la información de autorización para una dirección URL que no requiere autenticación. En pocas palabras, el mecanismo de autenticación se ha convertido en una "Cookie", mecanismo que es controlado por el cliente. El cliente tiene el control total sobre el momento para ser autenticados y cuándo permanecer en el anonimato. Debe recordar los siguientes puntos: • El artículo de la aplicación de un carrito de la compra o la cuenta bancaria implica la definición de una acción y una dirección URL única. • La URL de acción es responsable de generar una URL única. • Usted puede considerar la dirección única de ser una dirección URL personalizada que reemplaza la necesidad de mantener un servidor objeto de la sesión lado. • Servidor de objetos de sesión secundarios no son útiles cuando se desea escribir flexible de los servicios Web. Los ejemplos que ilustran la cesta de compra que puede utilizar carros de la compra predefinidos para añadir valor a una tienda en línea. • Usted puede aplicar la redirección de la URL de acción para la dirección única utilizando la serie 300 de códigos de estado HTTP. Sin embargo, no utilizar esta serie de resultados de códigos de estado en la persona que llama XMLHttpRequest saber lo que es la dirección única. • El mecanismo preferido cuando se utiliza XMLHttpRequest para redirigir es usar el código de estado HTTP 201. Este código significa que un nuevo recurso ha sido creado de que, desde una perspectiva teórica, a la intención del principio de dirección única. • El servidor generalmente no hace un seguimiento de URL única. Es responsabilidad del cliente para asociar un usuario particular, con una URL única en particular. Si la dirección URL única es anónima, como un carrito de la compra, entonces usted debe utilizar el cliente de las cookies de lado. Si la dirección URL única tiene restricciones de seguridad, entonces debe utilizar el servidor de cookies de lado o de autenticación HTTP. • Cuando la aplicación de la seguridad, puede utilizar cookies siempre y cuando el navegador no se utilizan para generar contenido. Las cookies se utilizan para autorizar el acceso a un recurso. • Cookies y los mecanismos de autenticación HTTP son los medios que prefirieron utilizar para poner en práctica la identificación del usuario. • Cuando la aplicación de la funcionalidad de redirección, no se puede almacenar en caché la respuesta de la acción de URL, ya que dará lugar a problemas de consistencia de los datos. • URLs son procesados en el servidor usando uno de dos mecanismos: un mecanismo de reescritura de URL predefinidas, tales como Apache mod_rewrite, o la aplicación de un filtro que se dirige a un controlador específico. El mecanismo preferente es un filtro que se dirige a un controlador específico, pero para fines de legado, es completamente aceptable utilizar un mecanismo de reescritura de URL predefinidas. un artículo presentado por Sonja Lande Descargo de responsabilidad:Nuestro sitio web no es responsable por el contenido de este artículo. Webarticles es un recurso de información gratuito. Importante: Este artículo "Implementación de una cuenta bancaria con Ajax en un carrito de la compra" fue traducida por un software automático. Sentimos pena por los errores de ortografía que pueda haber ocurrido. Gracias por su comprensión.
|
|||||
| Online: 284 users browsing the articles directory |
|
|