Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Violating Content Security Policy directive after ember-cli 0.0.47 upgrade

I upgraded my ember-cli app to 0.0.47 and am now getting a bunch of errors in my browser console related to the content security policy. How do I fix this issue?

Refused to load the script 'http://use.typekit.net/abcdef.js' because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval' localhost:35729".  login:1 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval' localhost:35729". Either the 'unsafe-inline' keyword, a hash ('sha256-...'), or a nonce ('nonce-...') is required to enable inline execution.  login:20 Refused to load the script 'http://connect.facebook.net/en_US/all.js' because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval' localhost:35729".  login:1 Refused to load the script 'http://maps.googleapis.com/maps/api/js?libraries=places' because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval' localhost:35729". 

Here are the lines in my app/index.html file:

<script type="text/javascript" src="//use.typekit.net/abcdef.js"></script> <script type="text/javascript">try{Typekit.load();}catch(e){}</script> <script src="http://connect.facebook.net/en_US/all.js"></script> <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=places"></script> 
like image 722
Peter Brown Avatar asked Oct 04 '14 11:10

Peter Brown


1 Answers

After reading some docs at http://content-security-policy.com/ and https://github.com/rwjblue/ember-cli-content-security-policy, I added some policies to my config/environment.js file like so:

module.exports = function(environment) {   var ENV = {     contentSecurityPolicy: {       'default-src': "'none'",       'script-src': "'self' 'unsafe-inline' 'unsafe-eval' use.typekit.net connect.facebook.net maps.googleapis.com maps.gstatic.com",       'font-src': "'self' data: use.typekit.net",       'connect-src': "'self'",       'img-src': "'self' www.facebook.com p.typekit.net",       'style-src': "'self' 'unsafe-inline' use.typekit.net",       'frame-src': "s-static.ak.facebook.com static.ak.facebook.com www.facebook.com"     },    // ... }; 

This made all the immediate errors go away, but as soon as I started navigating my app, new ones appeared related to S3 media sources.

I'm sure this works for apps that don't include any external resources, but I've decided to remove ""ember-cli-content-security-policy" from my package.json file.

like image 63
Peter Brown Avatar answered Sep 26 '22 03:09

Peter Brown