แพ็คเกจนี้มีจุดมุ่งหมายเพื่อปกป้องแอป Laravel ของคุณจากการโจมตีประเภทต่างๆ เช่น XSS, SQLi, RFI, LFI, User Agent และอื่นๆ อีกมากมาย นอกจากนี้ยังจะบล็อกการโจมตีซ้ำๆ และส่งการแจ้งเตือนผ่านทางอีเมล และ/หรือ slack เมื่อตรวจพบการโจมตี นอกจากนี้ มันจะบันทึกการเข้าสู่ระบบที่ล้มเหลวและบล็อก IP หลังจากพยายามหลายครั้ง
หมายเหตุ: คลาสมิดเดิลแวร์บางคลาส (เช่น Xss) จะว่างเปล่า เนื่องจากคลาสนามธรรม Middleware
ที่คลาสขยายทำหน้าที่ทั้งหมดแบบไดนามิก ในระยะสั้นพวกเขาทั้งหมดใช้งานได้ ;)
รันคำสั่งต่อไปนี้:
ผู้แต่งต้องการ akaunting/laravel-firewall
เผยแพร่การกำหนดค่า ภาษา และการย้ายข้อมูล
ผู้ขายช่างฝีมือ php: เผยแพร่ --tag = ไฟร์วอลล์
สร้างตาราง db
php artisan โยกย้าย
คุณสามารถเปลี่ยนการตั้งค่าไฟร์วอลล์ของแอปได้จากไฟล์ config/firewall.php
มิดเดิลแวร์ถูกกำหนดไว้แล้ว ดังนั้นควรเพิ่มมันลงในเส้นทาง มิดเดิลแวร์ firewall.all
ใช้มิดเดิลแวร์ทั้งหมดที่มีอยู่ในอาร์เรย์ all_middleware
ของไฟล์กำหนดค่า
เส้นทาง::group(['middleware' => 'firewall.all'], function () { เส้นทาง::get('/', 'HomeController@index'); -
คุณสามารถใช้มิดเดิลแวร์แต่ละตัวต่อเส้นทางได้ ตัวอย่างเช่น คุณสามารถอนุญาตเฉพาะ IP ที่อนุญาตพิเศษให้เข้าถึงผู้ดูแลระบบได้:
เส้นทาง::group(['middleware' => 'firewall.whitelist'], function () { เส้นทาง::get('/admin', 'AdminController@index'); -
หรือคุณสามารถรับการแจ้งเตือนเมื่อใครก็ตามที่ไม่อยู่ใน whitelist
ต์ของผู้ดูแลระบบโดยเพิ่มลงในการกำหนดค่า inspections
:
เส้นทาง::group(['middleware' => 'firewall.url'], function () { เส้นทาง::get('/admin', 'AdminController@index'); -
มิดเดิลแวร์ที่ใช้ได้กับเส้นทาง:
ไฟร์วอลล์.ทั้งหมด ไฟร์วอลล์.ตัวแทน ไฟร์วอลล์.bot ไฟร์วอลล์.ภูมิศาสตร์ ไฟร์วอลล์.ip ไฟร์วอลล์.lfi ไฟร์วอลล์.php ไฟร์วอลล์ผู้อ้างอิง ไฟร์วอลล์.rfi ไฟร์วอลล์.เซสชั่น ไฟร์วอลล์.sqli ไฟร์วอลล์สาบาน ไฟร์วอลล์.url ไฟร์วอลล์.รายการที่อนุญาต ไฟร์วอลล์.xss
คุณยังสามารถกำหนด routes
สำหรับมิดเดิลแวร์แต่ละตัวใน config/firewall.php
และใช้มิดเดิลแวร์หรือ firewall.all
นั้นที่ด้านบนของเส้นทางทั้งหมด
ไฟร์วอลล์จะส่งการแจ้งเตือนทันทีที่ตรวจพบการโจมตี อีเมลที่ป้อนในการตั้งค่า notifications.email.to
อีเมลจะต้องเป็นผู้ใช้ Laravel ที่ถูกต้องจึงจะสามารถส่งการแจ้งเตือนได้ ตรวจสอบเอกสารการแจ้งเตือนของ Laravel สำหรับข้อมูลเพิ่มเติม
โปรดดูการเผยแพร่สำหรับข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่เปลี่ยนแปลงเมื่อเร็วๆ นี้
คำขอดึงนั้นยินดีเป็นอย่างยิ่ง คุณต้องปฏิบัติตามมาตรฐานการเข้ารหัส PSR
โปรดตรวจสอบนโยบายความปลอดภัยของเราเกี่ยวกับวิธีการรายงานจุดอ่อนด้านความปลอดภัย
เดนิส ดูลิซิ
ผู้ร่วมให้ข้อมูลทั้งหมด
ใบอนุญาตเอ็มไอที (MIT) โปรดดูใบอนุญาตสำหรับข้อมูลเพิ่มเติม