Política de seguridad del contenido e inicio de sesión de Facebook

5

Esta pregunta parece estar relacionada con enlace , pero no estoy desarrollando una extensión de Chrome. Estoy desarrollando una aplicación web normal.

Estoy tratando de integrar el inicio de sesión de Facebook en mi sitio web, que tiene una política estricta de CSP. Estoy siguiendo las recomendaciones de enlace , donde se menciona que no se debe usar 'unsafe-eval'. Sin embargo, si pongo la siguiente política de CSP:

    <add name="Content-Security-Policy" value="default-src 'self'; connect-src 'self'; script-src 'self' https://connect.facebook.net; img-src 'self' https://www.facebook.com; media-src 'self'; object-src 'self'; style-src 'self'  'unsafe-inline'; frame-src 'self' https://s-static.ak.facebook.com https://www.facebook.com https://www.youtube.com; "/>

entonces el inicio de sesión de Facebook no aparece, ya que la política de CSP restringe el código de evaluación no seguro. Si lo cambio a lo siguiente:

    <add name="Content-Security-Policy" value="default-src 'self'; connect-src 'self'; script-src 'self' 'unsafe-eval' https://connect.facebook.net; img-src 'self' https://www.facebook.com; media-src 'self'; object-src 'self'; style-src 'self'  'unsafe-inline'; frame-src 'self' https://s-static.ak.facebook.com https://www.facebook.com https://www.youtube.com; "/>

entonces funciona. Observe el extra 'unsafe-eval' en la parte script-src del CSP. De todos modos, no quiero usar la condición 'unsafe-eval', ya que esto reduciría enormemente la seguridad de mi sitio web.

¿Hay alguna manera de que pueda usar el inicio de sesión de Facebook (SDK), sin tener que usar 'unsafe-eval' en mi política de CSP?

    
pregunta Michael 18.04.2014 - 12:39
fuente

1 respuesta

1

No, no puedes usar el SDK de Facebook sin 'unsafe-eval' si el SDK de Facebook lo requiere, por desgracia. Este es uno de los problemas con la CSP. Hasta que Facebook elimine el requisito, debes permitirlo.

Usted menciona que su aplicación puede ser una aplicación de una sola página, pero si no lo fuera, podría emitir la expresión 'unsafe-eval' en esa página en particular solo para mejorar la situación, en lugar de en todo el sitio.

    
respondido por el Scott Helme 03.08.2016 - 17:21
fuente

Lea otras preguntas en las etiquetas