2016-08-10 11 views
7

Sadece bir kaynak için 'güvenli olmayan' bir yönerge eklemek nasıl mümkündür?İçerik güvenliği güvenli olmayan değerlendirme politikası yalnızca tek bir URL için

Bir cordova uygulama geliştirme ve ediyorum ben meta http-eşdeğeri = "Content-Güvenlik-Politikası ayarlanan çoklu kaynaktan (twitter gibi dış komut, vb ..) den script src izin vermeniz gerekir olarak: script src *

<meta http-equiv="Content-Security-Policy" content="default-src * 'unsafe-inline' data: gap: * 'unsafe-eval'; style-src 'self' 'unsafe-inline'; script-src * 'self' 'unsafe-inline' 'unsafe-eval';">

Bu işler ancak geniş açık olduğu için bu tehlikelidir. Yani

i 'güvensiz-eval' yalnızca f eklemek istiyorum veya gereken kod (

Mümkün mü?

cevap

1

Yapamazsınız. Bir ilke, bir politikada belirli bir komut dosyası kaynağına uygulanan bir tür bayrak veya öznitelik değildir. Hatta eğer yapabilirsen, Ayrıca

source-expression = scheme-source/host-source/keyword-source/nonce-source/hash-source 
scheme-source  = scheme-part ":" 
host-source  = [ scheme-part "://" ] host-part [ port-part ] [ path-part ] 
keyword-source = "'self'"/"'unsafe-inline'"/"'unsafe-eval'" 

bu tetikleme diğer bazı komut dosyalarından korumasını olmaz: Eğer CSP spec bu alıntıda görebileceğiniz gibi yerine, kendi başına bir komut dosyası kaynağı olduğunu değerlendirmek için kendi dizesi ile haritalar api kodu içinde güvensiz değerlendirme.

CSP unsafe-eval using Google Maps API'a bir göz atın, belki de 'unsafe-eval''dan tamamen kurtulabilirsiniz.

İlgili konular