2016-08-07 7 views
1

SafariでHelmetのコンテンツセキュリティポリシーに問題があった人はいますか?SafariブラウザでヘルメットCSPが動作しない

https://github.com/helmetjs/helmet

app.use(helmet.contentSecurityPolicy({ 
 
    directives: { 
 
    defaultSrc: ["'self'"], 
 
    scriptSrc: ["'self'",'code.jquery.com','cdnjs.cloudflare.com'], 
 
    styleSrc: ["'self'","'unsafe-inline'",'fonts.googleapis.com','cdnjs.cloudflare.com'], 
 
    imgSrc: ["'self'"], 
 
    fontSrc: ['fonts.googleapis.com','fonts.gstatic.com','cdnjs.cloudflare.com'], 
 
    connectSrc: [], 
 
    }, 
 

 
    reportOnly:false, 
 
    setAllHeaders: false, 
 
    disableAndroid: false 
 

 
}));

これはクロム、FirefoxとIEで正常に動作します。しかし、Safariでこれらのエラーが発生しています。それは仕様につきhttpsにアップグレードすることはできませんので、

Safari Errors

Safari Errors

答えて

1

Safariはスキームを指定する必要があります。代わりに、現在のページのスキームがデフォルトになっています - 私はhttpにページを表示していると仮定しています。代わりにhttpを可能にする、私が指定したい:

styleSrc: ["'self'","'unsafe-inline'",'https://fonts.googleapis.com','https://cdnjs.cloudflare.com'], 

OR は、すべてのトラフィックためhttps必要です。あなたのポリシーにhttp:スキームを使用しないでください:smile:

これは、サファリの最新バージョン(テストされていません)で修正される可能性がありますが、何かを壊す)。

https://twitter.com/Scott_Helme/status/642630334983614464

+0

これでした。ソリューションをありがとう! – user3183411

+0

@ user3183411答えを受け入れるか? – oreoshake

関連する問題