ฐานข้อมูลคำแนะนำด้านความปลอดภัย PHP อ้างอิงถึงช่องโหว่ด้านความปลอดภัยที่ทราบในโครงการและไลบรารี PHP ต่างๆ ฐานข้อมูลนี้ จะต้องไม่ ทำหน้าที่เป็นแหล่งข้อมูลหลักสำหรับปัญหาด้านความปลอดภัย ฐานข้อมูลนี้ไม่ได้รับอนุญาตสำหรับซอฟต์แวร์อ้างอิงใด ๆ แต่ช่วยให้สามารถรวมศูนย์ข้อมูลเพื่อความสะดวกและใช้งานง่าย
ฐานข้อมูลคำแนะนำด้านความปลอดภัยของ PHP เป็นซอฟต์แวร์ฟรีและไม่มีภาระผูกพันที่เผยแพร่สู่สาธารณสมบัติ
หากต้องการตรวจสอบช่องโหว่ในแอปพลิเคชันของคุณนอกเหนือจากการตรวจสอบด้วยตนเอง คุณควรใช้เครื่องมือ Local CLI:
local-php-security-checker --path=/path/to/composer.lock
เคล็ดลับ : หากคุณใช้ Github คุณสามารถใช้ PHP Security Checker Github Action เพื่อตรวจสอบช่องโหว่โดยอัตโนมัติเมื่อพุชโค้ด
การสนับสนุนคำแนะนำด้านความปลอดภัยนั้นง่ายดายเหมือนที่จะได้รับ:
คุณสามารถสนับสนุนรายการใหม่ได้โดยการส่งคำขอดึงหรือโดยการสร้างไฟล์โดยตรงผ่านอินเทอร์เฟซ Github
สร้างไดเร็กทอรีตามชื่อ Composer ของซอฟต์แวร์ที่มีปัญหาด้านความปลอดภัย (ใช้ symfony/http-foundation
สำหรับปัญหาในคอมโพเนนต์ Symfony HttpFoundation เป็นต้น)
ปัญหาด้านความปลอดภัยแต่ละประเด็นจะต้องบันทึกไว้ในไฟล์ที่มีชื่อเป็นตัวระบุ CVE (ที่ต้องการ) หรือวันที่ที่มีการประกาศปัญหาด้านความปลอดภัยตามด้วยการเพิ่มขึ้น (เช่น 2012-12-12-1
)
ไฟล์อยู่ในรูปแบบ YAML และ ต้อง มีรายการต่อไปนี้ (ดูตัวอย่างรายการที่มีอยู่):
title
: ข้อความที่อธิบายปัญหาด้านความปลอดภัยด้วยคำไม่กี่คำ
link
: ลิงก์ไปยังประกาศปัญหาด้านความปลอดภัยอย่างเป็นทางการ (แนะนำให้ใช้ลิงก์ HTTPS มากกว่า HTTP)
reference
: การอ้างอิงเฉพาะเพื่อระบุซอฟต์แวร์ (รูปแบบเดียวที่รองรับคือ composer://
ตามด้วย Composer identifier)
branches
: แฮชของกิ่งที่ได้รับผลกระทบ โดยที่ชื่อคือชื่อสาขา (เช่น 2.0.x
) และค่าคือแฮชที่มีรายการต่อไปนี้:
time
: วันที่และเวลาใน UTC เมื่อปัญหาด้านความปลอดภัยได้รับการแก้ไขหรือเป็นโมฆะหากปัญหายังไม่ได้รับการแก้ไข (ส่วนใหญ่คือวันที่ของ การรวม ที่แก้ไขปัญหาในรูปแบบต่อไปนี้ 2012-08-27 19:17:44
) -- ข้อมูลนี้จะต้องมีความถูกต้องที่สุดเท่าที่จะเป็นไปได้ เพื่อใช้ในการพิจารณาว่าโครงการได้รับผลกระทบหรือไม่
versions
: อาร์เรย์ของข้อจำกัดที่อธิบายเวอร์ชันที่ได้รับผลกระทบสำหรับสาขานี้ (ซึ่งเป็นรูปแบบเดียวกับที่ใช้สำหรับ Composer -- ['>=2.0.0', '<2.0.17']
)
หากคุณมีตัวระบุ CVE ให้เพิ่มไว้ข้างใต้คีย์ cve
ตรวจสอบให้แน่ใจว่าไฟล์ของคุณตรวจสอบโดยการรัน php -d memory_limit=-1 validator.php
จากรากของโปรเจ็กต์นี้ สคริปต์นี้จำเป็นต้องติดตั้งการขึ้นต่อกันบางอย่างผ่านทางผู้แต่ง ดังนั้นคุณต้องรัน composer install
ก่อน
หากโค้ดที่ได้รับผลกระทบบางส่วนพร้อมใช้งานผ่านรายการ Composer ที่แตกต่างกัน (เช่น เมื่อคุณมีการแยกทรีย่อยของที่เก็บหลักแบบอ่านอย่างเดียว) ให้ทำซ้ำข้อมูลในหลายไฟล์