ฉันกำลังพยายามสร้างนโยบายความปลอดภัยเนื้อหาที่แข็งแกร่งและปลอดภัยใน nginx โดยเรียกใช้เซิร์ฟเวอร์ LEMP ที่ใช้ wordpress ฉันเชื่อว่าฉันกำลังใช้โมดูล ngx_pagespeed.so และได้ใช้ FastCGI บนเซิร์ฟเวอร์ของฉันฉันเชื่อว่าหนึ่งในฟีเจอร์เหล่านี้ทำให้รูปภาพ jpeg ของฉันกลายเป็นรูปภาพ webP ได้ทันที
ในคำสั่งนโยบายความปลอดภัยเนื้อหาของฉันบน Nginx ฉันกำลังพยายามกำจัดการโจมตี XSS ในขณะที่ยังคงใช้อิมเมจ webP ที่สร้างโดยโมดูล pagespeed หรือ FastCGI
อย่างไรก็ตาม เพื่อให้ CSP อนุญาตภาพ webP ฉันต้องใส่ img-src ข้อมูล 'ตัวเอง':;
ในคำสั่งส่วนหัวของนโยบายความปลอดภัยเนื้อหาของฉันดังนี้:
add_header เนื้อหา-ความปลอดภัย-นโยบาย "default-src 'self'; script-src 'self'; img-src 'self' data:;";
ปัญหาของสิ่งนี้คือการเปิดใช้งาน ข้อมูล:
การบล็อกทำให้เว็บไซต์ของฉันเสี่ยงต่อการโจมตี XSS ทำให้นโยบายความปลอดภัยเนื้อหาไม่มีจุดหมายอย่างมีประสิทธิภาพ ดูเหมือนว่าฉันสามารถมีเว็บไซต์ที่ปลอดภัยเป็นพิเศษแต่ทำงานช้าโดยใช้ jpeg ทั่วไป หรือฉันสามารถมีเว็บไซต์ที่ไม่ปลอดภัยอย่างยิ่งแต่รวดเร็วโดยใช้อิมเมจ webP ที่แสดงผลโดยเซิร์ฟเวอร์
คำถามของฉันคือมีวิธีระบุเฉพาะภาพ webP ที่ได้รับอนุญาตในคำสั่ง CSP หรือไม่ img-src ข้อมูล 'ตัวเอง';";
? ตามหลักการแล้ว ฉันต้องการบอก nginx ว่ารูปภาพ webP ควรได้รับการอนุมัติใน CSP แต่รูปภาพอื่นๆ นอกไซต์ของฉันหรือรูปแบบ webP ควรถูกบล็อก
เป็นไปได้ไหม ถ้าไม่ ดูเหมือนว่า CSP จะค่อนข้างไร้จุดหมายสำหรับเซิร์ฟเวอร์อย่างน้อย 50% ถ้าเป็นเช่นนั้น คุณช่วยฉันคิดเรื่องนี้และแจ้งให้ฉันทราบว่าฉันสามารถใช้คำสั่งที่กำหนด webP เป็นรูปแบบที่อนุญาตใน CSP ของฉันได้อย่างไร
ขอบคุณสำหรับความช่วยเหลือ!