Bir test sitesinde yeni İçerik Güvenliği İlkesi (CSP) HTTP üstbilgilerini kullanmaya çalışıyorum. CSM'yi Modernizr ile birlikte kullandığımda CSP ihlali hataları alıyorum.Modernizr İçerik Güvenlik Politikası (CSP) İhlal Hataları neden
Content-Güvenlik-İlkesi: Bu kullanıyorum CSP politikasıdır varsayılan-SRC öz '; script-src 'kendini' ajax.googleapis.com ajax.aspnetcdn.com; style-src 'kendini'; img-src 'kendini'; font-src 'kendini'; rapor-uri /WebResource.axd?cspReport=true
Bunlar Chrome tarayıcısı konsolundan hataları şunlardır:
Refused to apply inline style because it violates the following Content Security Policy directive: "style-src 'self'".
Either the 'unsafe-inline' keyword, a hash ('sha256-...'), or a nonce ('nonce-...') is required to enable inline execution.
window.Modernizr.injectElementWithStyles - modernizr-2.7.2.js:134
window.Modernizr.tests.touch - modernizr-2.7.2.js:457(anonymous function)
modernizr-2.7.2.js:949(anonymous function) - modernizr-2.7.2.js:1406
Ben Github Modernizr sitesinde following workaround keşfetti. Ancak, geçici çözüm ilk olarak Mart ayında ortaya konmuş ve biraz Google-Fu yapmıştır. Bu konuyla ilgili herhangi bir düzeltme veya geçici çözüm bulamıyorum.
Bu hatayı alabilen güvensiz satır içi yönergesini ekleyebileceğimi biliyorum, ancak bu da güvenli olmayan kodun çalıştırılmasını ve ilk etapta CSP kullanımını devre dışı bırakmasını sağlar. Herhangi bir çözümü olan var mı?
Güncelleme - CSP
CSP nedir tüm büyük tarayıcılar (Including Edge) tarafından desteklenen bir HTTP başlığıdır. Temel olarak, içeriğin beyaz bir listesini içeren listeyi oluşturmak için tarayıcının kullanımına izin verilir. Daha fazla bilgi edinin here veya Mozilla'nın CSP here ve here belgelerini okuyun.
Güncelleme - Yardım Vurgu CSP
CSP all browsers üzerinde artık kullanılabilir (desteği eklendi Kenar, yay!) Ve web güvenliği konusunda ileri onun devasa bir sıçrama. CSP için daha fazla üçüncü parti desteği almak ilgilenenler için şu bkz:
- Modernizr support for CSP
- Visual Studio support for CSP. Çevrim içi JavaScript'i kullandığı için CSP etkinleştirilmişse tarayıcı bağlantısının çalışmadığını unutmayın.
- Visual Studio Web Essentials Extension support for CSP. Web Essentials, özellikleri genellikle Visual Studio'nun bir sonraki sürümünde sona eren bir Visual Studio eklentisidir.
Neden bir işlevsellik engellemek için seçmeli ve sonra bu işlevselliği kullanarak bir kitaplık ile sorun? – dandavis
Engellenen işlev, güvenlik açıklarına neden olabilecek çevrimiçi CSS ve JavaScript'tir. Ayrı CSS ve JavaScript dosyalarını kullanmak gayet iyi. Modernizr, testlerini yapmak için astar tekniğini kullanır. Ayrı dosyalar sağlasa da işe yarayabilir. Daha kapsamlı bir CSP anlayışı için https://developer.mozilla.org/en-US/docs/Web/Security/CSP/Introducing_Content_Security_Policy ve https://developer.mozilla.org/en-US/docs/ Web/Güvenlik/CSP –
Vay, bu güvenli ortamlarda Modenizr için toplam anlaşma kesici. – Keith