Resumen y resumen de problemas entre dominios.

¿Qué es el acceso entre dominios?

El acceso entre dominios consiste en solicitar recursos de un dominio a otro a través de solicitudes HTTP.

Punto de impacto: si el servidor no devuelve el encabezado permitido, no se pueden obtener los recursos, lo que resulta en la indisponibilidad del servicio. Esto es común en proyectos de separación de front-end y back-end, servicios de aceleración CDN, etc.;

El significado de dominio: protocolo, nombre de dominio, combinación de puerto.Si alguno de los tres no es igual, se considera dominio cruzado.

Ejemplos de dominios cruzados

tipo Muestra A Muestra B ¿Es entre dominios?
cuestiones de protocolo http://www.ejemplo.com https://www.ejemplo.com Dominio cruzado
problema de nombre de dominio https://ftp.ejemplo.com https://www.ejemplo.com Dominio cruzado
problema de puerto https://www.ejemplo.com:80 https://www.ejemplo.com:81 Dominio cruzado

Por qué existe una política del mismo origen (el motivo de los problemas entre dominios)

La política del mismo origen es una política de seguridad importante que restringe cómo los documentos de un origen o los scripts cargados por él pueden interactuar con recursos de otro origen. Puede ayudar a bloquear documentos maliciosos y reducir posibles vectores de ataque.

Por ejemplo,
en un navegador normal, si inicia sesión en el sitio web A y luego abre involuntariamente el sitio web B (phishing, sitio web malicioso), el sitio web B tomará sus cookies, llamará a la interfaz del sitio web A y obtendrá información confidencial, lo que conducirá a información fuga., o incluso pérdida de fondos, y la política del mismo origen es resolver el proceso de autenticación (implementado por el navegador) cuando B llama a un sitio web, negando así a B el acceso a A.

Por lo tanto, cuando configuramos los parámetros que se presentan a continuación, siempre debemos prestar atención a los problemas de seguridad del servicio actual para realizar una configuración razonable y segura.

Descripción de parámetros comunes.

Parámetros del encabezado significado Configuraciones comunes
Control-de-acceso-permitir-origen Se utiliza para resolver el problema de los permisos de recursos entre dominios. El valor del dominio define el dominio al que se le permite acceder al recurso. El carácter comodín "*" se puede configurar para permitir solicitudes de todos los dominios. Acceso-Control-Permitir-Origen: *
Acceso-Control-Permitir-Origen: <origen>
Control-de-acceso-edad-máxima El encabezado de respuesta Access-Control-Max-Age indica durante cuánto tiempo se pueden almacenar en caché los resultados devueltos de la solicitud de verificación previa (es decir, la información proporcionada por Access-Control-Allow-Methods y Access-Control-Allow-Headers). este valor puede evitar solicitudes de OPCIONES frecuentes Control-de-acceso-edad-máxima: <delta-segundos>
Método de solicitud de control de acceso El encabezado de solicitud Access-Control-Request-Method aparece en la solicitud de verificación previa (solicitud de verificación previa) y se utiliza para informar al servidor qué método HTTP se utilizará en la solicitud real. Debido a que el método utilizado en las solicitudes de verificación previa siempre es OPCIONES, que es diferente del método utilizado en las solicitudes reales, este encabezado de solicitud es necesario. Métodos de permiso de control de acceso: PUBLICAR, OBTENER, OPCIONES
Control-de-acceso-permitir-credenciales El encabezado de respuesta Access-Control-Allow-Credentials se utiliza para indicarle al navegador si la respuesta a la solicitud puede exponerse al código JavaScript de front-end cuando la solicitud requiere credenciales (el valor de Request.credentials se incluye). Control de acceso-Permitir-Credenciales: verdadero

Nota especial

  • Access-Control-Max-Age: configurar el tiempo de caché puede mejorar el rendimiento, pero diferentes navegadores tienen su propio límite superior para el tiempo de caché, es decir, su configuración es muy larga, pero en realidad no cumplirá con sus expectativas. Se recomienda configurar 86400 es suficiente.

Supongo que te gusta

Origin blog.csdn.net/weixin_43832080/article/details/128249441
Recomendado
Clasificación