ปลั๊กอิน Jekyll นี้จะสร้างนโยบายความปลอดภัยเนื้อหา HTML สำหรับไซต์ Jekyll โดยอัตโนมัติ ปลั๊กอินจะสแกนไฟล์ .html
ที่สร้างโดย Jekyll และพยายามค้นหารูปภาพสไตล์สคริปต์เฟรม ฯลฯ และสร้างนโยบายความปลอดภัยของเนื้อหา HTML Meta Tag สคริปต์จะสร้างแฮช Sha256 สำหรับสคริปต์และสไตล์แบบอินไลน์ หากสคริปต์ค้นหาองค์ประกอบที่มีคุณสมบัติสไตล์ <div style="color: red"></div>
สคริปต์จะแยกข้อมูลสไตล์และสร้างองค์ประกอบสไตล์ที่จะผ่านการสร้างนโยบายความปลอดภัยของเนื้อหา
เพื่อเพิ่มความเร็วในการพัฒนาไซต์ที่ใช้ Jekyll ในขณะที่ยังช่วยสร้างไฟล์ HTML ที่ปลอดภัยได้รับการปกป้องจาก XSS
.html
ที่สร้างโดย Jekyll<script>alert("Hello World!");</script>
และสร้างแฮช sha256<style>.hello { color: "red"; }</style>
และสร้างแฮช sha256<style>
https://strongscot.com/images/logo.svg
จะถูกแปลงเป็น https://strongscot.com/images/
ภายใต้ https://strongscot.com
ภายใต้การผ่อนคลาย.html
เท่านั้น เพิ่มปลั๊กอิน gemfile ของคุณภายในกลุ่ม jekyll_plugins:
group :jekyll_plugins do
gem 'jekyll-content-security-policy-generator'
... other gem files
end
จากนั้นติดตั้ง
bundle install
ด้วยเหตุผลบางอย่าง Nokogiri จะติดตั้งด้วยทั้งแขน (M1) และ X86 ตัวแปรซึ่งจะทำให้ Bundler สับสน วิธีที่ดีที่สุดที่ฉันพบในการแก้ไขปัญหานี้คือการเปิด gemfile.lock และลบ::
nokogiri (1.11.3-arm64-darwin)
racc (~> 1.4)
หรือ x86 ถ้าคุณมี M1 Mac
หรือคุณสามารถเพิ่ม nokogiri
ลงใน gemfile ของคุณได้เช่น:
group :jekyll_plugins do
gem 'nokogiri'
gem 'jekyll-content-security-policy-generator'
... other gem files
end
https://strongscot.com