google maps api script fa carico a causa della politica di sicurezza dei contenuti

Sto facendo una estensione di google chrome in cui voglio utilizzare google maps. Il problema è che quando eseguo il mio script, quindi non mi dà questo errore

Refused to load script from 'https://maps.googleapis.com/maps/api/js?key=XXXXXXXXXXXXXXXX&sensor=false' because of Content-Security-Policy.

Ecco il mio file di manifesto

{
  "name": "Name",
  "version": "1.0",
  "manifest_version": 2,
  "background": { 
    "scripts": [
      "js/script.js"
    ] 
  },
  "description": "Desc",
  "browser_action": {
    "default_icon": "images/icon.png",
    "default_title": "Title",
    "default_popup": "html/popup.html"
  },
  "permissions": [ 
    "http://*/",
    "http://*.google.com/",
    "http://localhost/*"
  ],
  "content_security_policy": "script-src 'self' http://google.com; object-src 'self'"

}

E sto aggiungendo il mio script come questo

<script src="../js/libs/jquery.js"></script>
  <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=XXXXXXXXXXXXXX&sensor=false"></script>
  <script src="../js/plugins/easing.js"></script>
  <script src="../js/script.js"></script>

Perchè sto ricevendo un errore di nuovo e di nuovo? Si prega di aiutare…

Aggiornamento

Ho aggiunto queste due autorizzazioni per file manifest, ma ancora non funziona

"https://maps.google.com/*",
"https://maps.googleapis.com/*",

Aggiornamento di due

Ho anche usato questo tipo di content_security_policy

"content_security_policy": "default-src 'none'; style-src 'self'; script-src 'self'; connect-src https://maps.googleapis.com; img-src https://maps.google.com"

Ma sopra non funziona per me

InformationsquelleAutor 2619 | 2012-11-05

 

3 Replies
  1. 19

    Penso che il problema qui è che non hai impostato correttamente il contenuto politica di sicurezza per la URL di Google Maps. Si dovrebbe cambiare il tuo “content_security_policy” nel file manifest in qualcosa di simile a questo:

    "content_security_policy": "script-src 'self' https://maps.googleapis.com https://maps.gstatic.com; object-src 'self'"

    Questo significa semplicemente che si sono, che consente di eseguire script da sé/la pagina corrente, e dalla “https://maps.googleapis.com”.

    Provare questo e vedere se aiuta.

    • Grazie Akbar. Ho cambiato il mio file di manifesto in base a ciò che hai detto, ma ora sto ottenendo questo errore ed to load script from 'https://maps.gstatic.com/intl/en_us/mapfiles/api-3/9/19/main.js' because of Content-Security-Policy.. Qualche idea del perché?
    • Ho aggiornato la precedente politica di sicurezza dei contenuti della linea di includere anche il maps.gstatic.com linea. Penso che potrebbe essere necessario aggiungere più relxation politiche di troppo. Per questo, ho wold consiglia di passare attraverso queste: developer.chrome.com/extensions/contentSecurityPolicy.html dvcs.w3.org/hg/content-security-policy/raw-file/tip/…
    • Grazie per la risposta, hai qualche soluzione per caricare la libreria all’interno di una pagina come script di contenuto? Ho aggiunto la questione here
    • Grazie, ma le versioni più recenti di google Chrome ora si lamentano di caricamento dei font da ‘https:’ (nient’altro dopo di che, basta https:), io non sono riuscita a trovare una soluzione di sicurezza e hanno provato ogni variazione su questa pagina. Anche con carattere source ” sé ” https: * ancora si lamenta di bloccare il caricamento di ‘https:’ nelle ultime versioni di Chrome.
  2. 2

    Ho avuto lo stesso problema e risolto sostituendo URL API da http a https versione.

    In HTML
    Da:

    <script type='text/javascript' src='http://maps.google.com/maps/api/js?v=3.3&sensor=false'></script>

    A:

    <script type='text/javascript' src='https://maps-api-ssl.google.com/maps/api/js?v=3.3&sensor=false'></script>

    Poi aggiunto https://maps-api-ssl.google.com CPS nel manifesto.json

    Non so se hai ancora bisogno di questa info. Ma sono stato googling e trascorrere un po ‘ di tempo, ma non riusciva a trovare una risposta, così ho scritto qui e spero che se aiuta a chiunque.

  3. -1

    Content Security Policy ti tiene al sicuro da attacchi di tipo XSS. Ma significa che avete bisogno di per whitelist risorse esterne in modo esplicito. Si può fare, fornendo ulteriori intestazioni HTTP o da <meta> tag come:

    <meta http-equiv="Content-Security-Policy" 
        content="default-src 'self' data: gap: ws: ; 
        style-src 'self' https: *.googleapis.com; 
        script-src 'self' https: *.googleapis.com;
        media-src 'none'; 
        font-src *;
        connect-src *;
        img-src 'self' data: content: https: *.googleapis.com;"> 
    • Mentre questo potrebbe rispondere gli autori domanda, manca di alcune spiegando parole e collegamenti alla documentazione. Raw frammenti di codice non sono molto utili senza alcune frasi intorno ad esso. È inoltre possibile trovare come scrivere una buona risposta molto utile. Si prega di modificare la tua risposta.

Lascia un commento