2011-03-21 5 views
11

Excepto por JSONP, ¿por qué se sigue la misma política de dominio?¿Por qué no se permite la llamada AJAX de dominios cruzados?

+0

Dups: [¿Por qué peticiones AJAX limitan a mismo dominio?] (Http://stackoverflow.com/questions/3156710) y [¿Por qué es entre dominios Ajax un problema de seguridad?] (http://stackoverflow.com/questions/466737) –

+0

posible duplicado de [¿Cuál es el punto de la política Anti-Cross-Domain?] (http: // stackoverflow.com/questions/3113253/whats-the-point-of-the-anti-cross-domain-policy) –

Respuesta

11

La misma política de origen se ha implementado por razones de seguridad; citando una sentencia relevante de wikipedia:

Este mecanismo tiene un significado particular para web modernos aplicaciones que ampliamente dependen de cookies HTTP para mantener sesiones de usuarios autenticados, como servidores actúan basándose en la cookie HTTP información para revelar información confidencial de o realizar acciones que cambian el estado.
Una separación estricta entre el contenido proporcionado por sitios no relacionados debe mantenerse en el cliente lado para evitar la pérdida de datos confidencialidad o integridad.

Básicamente, usted no quiere cualquier sitio web determinado (al igual que cualquier sitio web que podría estar navegando en - y todos sabemos que la gente a veces llega en los sitios web que no se debe confiar) sean capaces de acceder a los datos de cualquier otro (como su correo web o cuenta en una red social).

+2

¿No se pudo evitar fácilmente ese problema de seguridad utilizando una cookie nueva? –

6

A causa de Same origin policy.

Existe la misma política de origen para evitar el uso malintencionado de los recursos. Si no hubiera reglas que rijan el acceso a los scripts entre dominios, sería trivial causar todo tipo de estragos en usuarios desprevenidos. Sería fácil, por ejemplo, que un sitio web malicioso tome la información de su sesión en otro sitio y ejecute acciones en su nombre.

Para un ejemplo, considere esto:

Vas a tu programa de correo web favorito - que podría ser Gmail, Yahoo Mail, Hotmail, o un programa de correo web interno de la empresa privada.

Después de iniciar sesión y consultar su correo electrónico, haga clic en un enlace a un sitio malicioso que se abre en una nueva pestaña.

El sitio malicioso comprueba el http referer y ve que proviene de su cuenta de correo electrónico.

Usando scripts de dominios cruzados, el sitio malicioso vuelve a su pestaña de correo electrónico y descarga su libreta de direcciones y todos sus correos electrónicos (o cuantos pueda obtener antes de cerrar la ventana emergente).

Posteriormente, después de escanear sus correos electrónicos en busca de contraseñas, datos financieros y otros materiales delicados, envía a todos sus contactos un correo electrónico suyo respaldando el mismo sitio. Y ese es solo un ejemplo. ¡Una trama más insidiosa involucraría a un tercero malicioso usando su navegador para arañar la intranet de su compañía, filtrando información clasificada con usted como el cómplice involuntario!

Más sobre http://jimbojw.com/wiki/index.php?title=Introduction_to_Cross-Domain_Ajax

Cuestiones relacionadas