คำถามติดแท็ก content-security-policy

3
นโยบายความปลอดภัยของเนื้อหาทำงานอย่างไร
ฉันได้รับข้อผิดพลาดมากมายในคอนโซลนักพัฒนาซอฟต์แวร์: ปฏิเสธที่จะประเมินสตริง ปฏิเสธที่จะเรียกใช้สคริปต์แบบอินไลน์เนื่องจากละเมิดคำสั่งนโยบายความปลอดภัยเนื้อหาต่อไปนี้ ปฏิเสธที่จะโหลดสคริปต์ ปฏิเสธที่จะโหลดสไตล์ชีท ทั้งหมดนี้เกี่ยวกับอะไร นโยบายความปลอดภัยของเนื้อหาทำงานอย่างไร ฉันจะใช้Content-Security-Policyส่วนหัว HTTP ได้อย่างไร โดยเฉพาะวิธีการ ... ... อนุญาตให้ใช้หลายแหล่งได้หรือไม่ ... ใช้คำสั่งที่แตกต่างกันอย่างไร ... ใช้หลายคำสั่งหรือไม่ ... จัดการพอร์ตหรือไม่ ... จัดการโปรโตคอลที่แตกต่างกันอย่างไร ... อนุญาตfile://โปรโตคอลหรือไม่ ... ใช้สไตล์อินไลน์สคริปต์และแท็ก<style>และ<script>? ... ช่วยให้eval()? และในที่สุดก็: 'self'หมายความว่าอะไรกันแน่?

2
นโยบายความปลอดภัยของเนื้อหา“ ข้อมูล” ไม่ทำงานสำหรับ base64 Images ใน Chrome 28
ในตัวอย่างง่ายๆนี้ฉันพยายามตั้งส่วนหัว CSP ด้วยส่วนหัวของ meta http-equiv ฉันรวมภาพ base64 แล้วและฉันพยายามทำให้ Chrome โหลดภาพ ฉันคิดว่าdataคำหลักควรทำเช่นนั้น แต่อย่างใดมันก็ไม่ทำงาน ฉันเพิ่งได้รับข้อผิดพลาดต่อไปนี้ในเครื่องมือสำหรับนักพัฒนา: ปฏิเสธที่จะโหลดอิมเมจ 'data: image / png; base64, R0lGODlhDwAPAOZEAMkJCfAwMMYGGAGBAAGAKBAGBAGBAGAAGAKBAGBAGBAGBAGBAGAGTAGTAGTAGTAGTAGONDYGTAGTAG_HARVALGTAGTAGTAGTAGTABAHKUTHATHAUDGAMBUTHUTHAUDGAMBUTHUTHAUDGAMAGTAGTAGTA # nW7yk4Mjr6gAgAgAgAgAgAgAgAg2yAr " โค้ดตัวอย่าง (JSFiddle ไม่ทำงานสำหรับตัวอย่างนี้เพราะฉันไม่สามารถตั้งค่าเมตาส่วนหัวได้): <html> <head> <meta http-equiv="Content-Security-Policy" content=" default-src 'none'; style-src 'self' 'unsafe-inline'; img-src 'self' data; " /> <style> #helloCSP { width: 50px; height: 50px; background: url(data:image/png;base64,R0lGODlhDwAPAOZEAMkJCfAwMMYGBtZMTP75+euIiPFBP+hVVf3v7+iHh/JNTfh9dNUYGPjTvskXFfOLi/daVe96es4eHPWIiOqbi9dNRvzWwexdV9U1NeFSS94iIvuxodVGP/ZsZM8jI+ibm/alluQzMdxSSvbGstwsKu2Yid4iIfjQu/JnYO6djvajlMQEBPvLuOJdXeMxL/3jzPBSTdwqKNY2Mf3i4vU5OfbPz/3f3/zUv/zizO0tLc0NDfMzM+UlJekpKeEhId0dHdUVFdkZGdEREf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAEQALAAAAAAPAA8AAAepgESCRBsLEDQQCxuDgxYdO5CROx0WgywGAQEKM0M2CpkGN0QvMDmmE0OpE6Y5KEQqPbE9D6lDD7I9IBc8vDwRtRG9PBcuPsY+B7UHxz4hP8/PGghDCBrQPyYxQdvbBUMF3NskGUDl5QwtDOblGSVC7+8JNQnw7yk4Mjr6GLUY+joiBI2QAACABwJDCHgoKOHEoAYVBAgY8GGAxAoNGAmiwMHBCgccKDAKBAA7) …

1
อะไรคือจุดประสงค์ของแอตทริบิวต์ HTML“ nonce” สำหรับองค์ประกอบสคริปต์และสไตล์
W3C กล่าวว่ามีแอตทริบิวต์ใหม่ใน HTML5.1 เรียกว่าnonceสำหรับstyleและscriptที่สามารถนำมาใช้โดยนโยบายความปลอดภัยของเนื้อหาของเว็บไซต์ ฉัน googled เกี่ยวกับเรื่องนี้ แต่สุดท้ายก็ไม่เข้าใจว่าแอตทริบิวต์นี้ทำอะไรและมีการเปลี่ยนแปลงอะไรบ้างเมื่อใช้งาน

9
ปฏิเสธที่จะโหลดสคริปต์เนื่องจากละเมิดคำสั่งนโยบายความปลอดภัยของเนื้อหาต่อไปนี้
เมื่อฉันพยายามปรับใช้แอปของฉันบนอุปกรณ์ที่มีระบบ Android ที่สูงกว่า 5.0.0 ( Lollipop ) ฉันยังคงได้รับข้อความแสดงข้อผิดพลาดประเภทนี้: 07-03 18: 39: 21.621: D / SystemWebChromeClient (9132): file: ///android_asset/www/index.html: Line 0: ปฏิเสธที่จะโหลดสคริปต์ "http: // xxxxx" เนื่องจากละเมิดเนื้อหาต่อไปนี้ คำสั่งนโยบายความปลอดภัย: "script-src 'self' 'unsafe-eval' 'unsafe-inline'" 07-03 18: 39: 21.621: I / chromium (9132): [INFO: CONSOLE (0)] "ปฏิเสธที่จะโหลดสคริปต์" http: // xxx "เนื่องจากละเมิดคำสั่งนโยบายความปลอดภัยของเนื้อหาต่อไปนี้:" script- src 'self' 'unsafe-eval' …

6
นโยบายความปลอดภัยของเนื้อหา: การตั้งค่าของเพจบล็อกการโหลดทรัพยากร
ฉันใช้CAPTCHAในการโหลดหน้าเว็บ แต่ถูกบล็อกเนื่องจากเหตุผลด้านความปลอดภัยบางประการ ฉันกำลังประสบปัญหานี้: นโยบายความปลอดภัยของเนื้อหา: การตั้งค่าของเพจบล็อกการโหลด ของทรัพยากรที่ http://www.google.com/recaptcha/api.js?onload=myCallBack&render=explicit ("script-src http://test.com:8080 'unsafe-inline' 'ไม่ปลอดภัย-eval'") ฉันใช้ JavaScript และเมตาแท็กต่อไปนี้: <meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'"> <script src="http://www.google.com/recaptcha/api.js?onload=myCallBack&render=explicit" async defer></script>

2
ฉันสามารถใช้ window.location.replace ใน iframe ได้หรือไม่
เราสามารถใช้window.location.replaceเพื่อหลีกเลี่ยงประวัติและกำหนดเป้าหมายจุดยึดบนหน้าโดยไม่ต้องโหลดหน้าใหม่แต่ไม่ใช่ iframes? ปัญหาคือการละเมิด CSP (นโยบายความปลอดภัยของเนื้อหา)ซึ่งscript-src 'unsafe-inline'ต้องเปิดใช้งานสถานะ ยกเว้นว่าฉันไม่ได้กำหนด CSP และแม้ว่าฉันจะกำหนดไว้และให้script-src 'unsafe-inline'มันยังคงให้ข้อผิดพลาดการละเมิดเดียวกัน ผลลัพธ์เดียวกันคือ 11 / chrome / ff Iframe บนโดเมนเดียวกัน(ในไดเรกทอรีเดียวกัน) กำหนดเป้าหมาย iframe ในคอนโซลและใช้window.location.replace('/samepage.html#onpage_anchor')ในคอนโซล มันได้ผล. มันกำหนดเป้าหมายที่สมอหน้าโดยไม่ต้องโหลดหน้าซ้ำและไม่มีประวัติ ใส่รหัสเดียวกันแบบอินไลน์ในลิงก์จุดยึดและใช้งานได้ ใช้รหัสเดียวกันในสคริปต์ภายนอกรับข้อผิดพลาดการละเมิด csp วิธีนี้ใช้ได้ผลดีหากไม่ได้อยู่ใน iframe ฉันพยายามสร้าง CSPจะอนุญาตให้มีการดำเนินการ แต่ไม่ได้ที่สุดอนุญาตนโยบายการรักษาความปลอดภัยข้อมูลที่เป็นไปได้จะช่วยให้มัน แก้ไข: ดังนั้นฉันจึงรวบรวมตัวอย่างบน plunker ซึ่งอนุญาตให้มีหลายไฟล์ดังนั้นฉันจึงสามารถใช้href ที่เหมาะสมซึ่งอ้างอิงหน้าแม่ / ลูก หมายเหตุเกี่ยวกับตัวอย่างของผู้รวบรวม: ปัญหาไม่ได้ทำซ้ำในตัวอย่างเหล่านี้ สคริปต์ทำงานได้อย่างสมบูรณ์แบบแม้ใน iframe อย่างไรก็ตามรหัสเดียวกันไม่สามารถใช้งานได้บนเซิร์ฟเวอร์ภายในเครื่องของฉันหรือเมื่อฉันเรียกใช้งานมันบน VPS ฉันสงสัยว่าการละเมิด CSP ไม่ได้รับการทริกเกอร์จากผู้รวบรวมเพราะผู้รวบรวมกำลังแสดงเนื้อหาไปยังเบราว์เซอร์ผ่านเลเยอร์สิ่งที่เป็นนามธรรมบางประเภท ครั้งแรกที่คุณคลิกลิงก์หีบเพลงในพาเรนต์มันจะทำให้รีเฟรช นี่เป็นเพราะวิธีการโหลดหน้าเว็บในตอนแรกมันไม่ได้อ้างอิง index.html …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.