2016-08-07 5 views
1

Safari에서 Helmet의 콘텐츠 보안 정책에 문제가있는 사람이 있습니까? Safari 브라우저에서 헬멧 CSP가 작동하지 않음

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 
 

 
}));

이는 크롬, 파이어 폭스와 IE에서 잘 작동

https://github.com/helmetjs/helmet

. 하지만 Safari에서 이러한 오류가 발생합니다. 이 사양 당 https에 업그레이드를 허용하지 않기 때문에

Safari Errors

Safari Errors

답변

1

Safari는 방식을 지정해야합니다. 대신 현재 페이지의 구성표가 기본값이됩니다. 페이지를 http으로보고 있다고 가정합니다. 대신 http을 허용하는, 내가 지정하는 것 :

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

또는 는 모든 트래픽에 대한 https이 필요합니다. 귀하의 정책에 http: 스킴을 사용하지 마십시오. 스마일 :

이것은 사파리의 최신 버전 (테스트하지 않음)에서 수정 될 수 있지만, 어떻게하면 좋을지에 대한 제안을 변경하지 않을 것입니다. t).

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

+0

그게 전부입니다! 솔루션을 가져 주셔서 감사합니다! – user3183411

+0

@ user3183411 답변을 수락 하시겠습니까? – oreoshake

관련 문제