La Red de Conocimientos Pedagógicos - Aprendizaje de redacción de artículos/tesis - Problemas entre dominios bajo la arquitectura de separación de front-end y back-end

Problemas entre dominios bajo la arquitectura de separación de front-end y back-end

En una arquitectura donde el front-end y el back-end están separados, inevitablemente se encontrarán problemas entre dominios. Pero mucha gente no sabe mucho sobre dominios cruzados. Aquí hablaré sobre este tema en detalle.

Origen político y cross-domain

El denominado cross-domain, denominado cross-domain en inglés, es un término propio en el ámbito de la seguridad de redes. Una comprensión simple es que algunas operaciones cruzan los límites de los nombres de dominio y acceden a otros nombres de dominio.

Pueden surgir muchos problemas de seguridad si los scripts tienen libre acceso a otros dominios.

Por ejemplo, supongamos que hay un sistema bancario en línea y usted inicia sesión. Admite una API ajax para transferir dinero; hay un sistema de foro muy popular, pero contiene un script malicioso; Este script llamará a esta API ajax para transferir 1000 bloques desde la cuenta de usuario actualmente conectada a la cuenta del atacante. De esta manera, si visitas este foro, se transferirán 1.000 yuanes y ¡no tienes ni idea!

Además, las solicitudes entre dominios tienen muchos peligros. Este no es un libro sobre seguridad, así que no diré eso. Si desea obtener más información, puede comprar una copia de los "Consejos tecnológicos para piratear el front-end web" escritos por Cosine.

Para evitar ataques entre dominios, todos los navegadores modernos siguen una política del mismo origen. Según la definición de MDN, "Dos páginas pertenecen al mismo origen si tienen el mismo protocolo, puerto (si se especifica) y host". Excepto por algunas operaciones de incrustación como img src, el navegador bloqueará las solicitudes que violen la política del mismo origen.

Lo que hay que tener en cuenta aquí es que la homología requiere no sólo el mismo nombre de dominio o IP, sino también el mismo protocolo y puerto. Por ejemplo, blogs.com/mashch/articles/4261448.html.

/articles/3q2iaqb

El front-end y el backend están separados y nodeJS reenvía solicitudes para lograr acceso entre dominios. :/u 011783224/article/details /52214949.