GeckoFlag เป็นซอฟต์แวร์ที่ทำงานบนเซิร์ฟเวอร์ของท่านเอง เพื่อให้ท่านวางใจในการจัดเก็บข้อมูลโปรเจกต์ได้ นักพัฒนาจะตรวจสอบความปลอดภัยด้วยตนเองทุกครั้งที่ออกรุ่นใหม่ และเปิดเผยรายละเอียดและผลการตรวจสอบไว้ในหน้านี้
หน้านี้เป็นบันทึกการตรวจสอบด้วยตนเองของนักพัฒนา ไม่ใช่การรับรองหรือการตรวจประเมินโดยหน่วยงานภายนอก นอกจากนี้เรายังเปิดเผยด้วยว่าตรวจสอบอะไรบ้าง โปรดใช้เป็นข้อมูลประกอบการตัดสินใจนำไปใช้งาน
- มาตรการในการออกแบบ
- การตรวจสอบในแต่ละรุ่น
- ผลการตรวจสอบเวอร์ชันล่าสุด
- ขอบเขตที่ไม่ได้ตรวจสอบ
- การรายงานช่องโหว่
- การตรวจสอบไฟล์ที่แจกจ่าย
- การตั้งค่าที่แนะนำ
มาตรการด้านความปลอดภัยในการออกแบบ
GeckoFlag มีมาตรการต่อไปนี้ติดตั้งมาเป็นมาตรฐาน ทุกมาตรการมีผลโดยไม่ต้องตั้งค่าใดๆ
การปกป้องรหัสผ่าน
รหัสผ่านจะไม่ถูกจัดเก็บเป็นข้อความธรรมดา แต่จะถูกแฮชด้วย bcrypt ก่อนจัดเก็บ โทเค็นสำหรับรีเซ็ตรหัสผ่านก็ถูกแฮชก่อนจัดเก็บเช่นกัน และมีการจำกัดจำนวนครั้งในการขอรีเซ็ตรหัสผ่านด้วย
การจำกัดความพยายามเข้าสู่ระบบ
ระบบนับจำนวนครั้งที่เข้าสู่ระบบไม่สำเร็จทั้งต่อบัญชีและต่อที่อยู่ IP ต้นทาง และเมื่อเกินจำนวนที่กำหนด จะจำกัดการเข้าสู่ระบบชั่วคราว ซึ่งช่วยป้องกันการโจมตีแบบ Brute Force และการโจมตีที่มุ่งเป้าไปยังบัญชีจำนวนมาก
การป้องกัน CSRF
ระบบตรวจสอบโทเค็นในการส่งฟอร์มทุกครั้ง เพื่อป้องกันการดำเนินการแอบอ้างจากเว็บไซต์ภายนอก
การป้องกัน XSS
ข้อความแบบจัดรูปแบบในงาน ความคิดเห็น Wiki โน้ต ฯลฯ จะถูกจัดเก็บและแสดงผลโดยคงไว้เฉพาะแท็กที่ HTML Purifier อนุญาตเท่านั้น ลิงก์อนุญาตเฉพาะ http และ https ข้อความที่สร้างโดย AI ก็จะผ่านกระบวนการเดียวกันทั้งหมดก่อนจัดเก็บ
การป้องกัน SQL Injection
การทำงานกับฐานข้อมูลใช้ ORM ของ CakePHP 5 และ Prepared Statement
การตรวจสอบ Host header
ลิงก์ในอีเมลรีเซ็ตรหัสผ่าน อีเมลเชิญ และอีเมลแจ้งเตือน จะสร้างจากโดเมนที่ลงทะเบียนไว้ ไม่ใช่จาก Host header ของคำขอ จึงไม่สามารถใช้ Host header ที่ไม่ถูกต้องเพื่อเปลี่ยนลิงก์ในอีเมลให้ชี้ไปยังที่อยู่ภายนอกได้
การจัดเก็บไฟล์
รูปภาพในงานและไฟล์ของโปรเจกต์จะถูกจัดเก็บไว้นอกโฟลเดอร์สาธารณะ และจะส่งให้ก็ต่อเมื่อยืนยันแล้วว่าผู้เปิดดูเป็นสมาชิกของโปรเจกต์ ระบบไม่รับไฟล์ที่มีนามสกุลที่รันได้ เช่น PHP
การเข้ารหัส API key
Claude API key สำหรับฟีเจอร์ AI จะถูกเข้ารหัสก่อนจัดเก็บในฐานข้อมูล
โทเค็น API ของการเชื่อมต่อ Claude
การเชื่อมต่อ Claude ปิดอยู่ตามค่าเริ่มต้น และใช้ได้เฉพาะเมื่อผู้ดูแลระบบเปิดฟีเจอร์และอนุญาตให้ผู้ใช้แต่ละคน โทเค็น API จะจัดเก็บเฉพาะค่าแฮช และกำหนดวันหมดอายุได้ เมื่อเปลี่ยนรหัสผ่าน โทเค็นจะใช้ไม่ได้ API ตรวจสอบสิทธิ์เช่นเดียวกับหน้าจอ และโทเค็นแบบอ่านอย่างเดียวไม่สามารถเปลี่ยนแปลงข้อมูลได้
การจำกัดที่อยู่ IP
ผู้ดูแลระบบสามารถจำกัดที่อยู่ IP ที่อนุญาตให้เข้าถึงได้
การปิดตัวติดตั้ง
หลังจากตั้งค่าเสร็จสิ้น จะไม่สามารถเข้าถึงหน้าจอตัวติดตั้งได้อีก
การปกป้องโฟลเดอร์ที่ไม่เปิดเผยต่อสาธารณะ
ใน Apache การเข้าถึงโฟลเดอร์การตั้งค่า ล็อก ซอร์สโค้ด ฯลฯ โดยตรงจะถูกปฏิเสธเป็นค่าเริ่มต้น (สำหรับ Nginx โปรดดูการตั้งค่าที่แนะนำ)
การสำรองข้อมูลอัตโนมัติก่อนอัปเดต
ระบบจะสร้างข้อมูลสำรองโดยอัตโนมัติก่อนอัปเดตซอฟต์แวร์
การตรวจสอบลายเซ็นของไฟล์อัปเดต
ไฟล์อัปเดตอย่างเป็นทางการมีลายเซ็นดิจิทัล (Ed25519) ของนักพัฒนา ก่อนการอัปเดต ระบบจะตรวจสอบลายเซ็นและเนื้อหาของไฟล์ทั้งหมด และจะไม่นำไฟล์ที่ถูกดัดแปลงหรือไฟล์อัปเดตที่ไม่เป็นทางการไปใช้
การตรวจสอบการอัปโหลดรูปภาพ
รูปภาพ เช่น รูปโปรไฟล์ รูปย่อ และโลโก้ จะถูกระบุรูปแบบจากเนื้อหาของไฟล์ และจัดเก็บด้วยชื่อไฟล์แบบสุ่ม โฟลเดอร์จัดเก็บรูปภาพจะไม่ให้บริการไฟล์อื่นนอกจากรูปภาพ (กรณี Apache) ระบบไม่รับไฟล์ SVG
Security Header
ระบบส่ง Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Referrer-Policy และ Permissions-Policy เพื่อป้องกัน Clickjacking และการรั่วไหลของข้อมูลไปยังเว็บไซต์ภายนอก เมื่อใช้งานผ่าน HTTPS ระบบจะส่ง Strict-Transport-Security ด้วย เพื่อให้เบราว์เซอร์เชื่อมต่อผ่าน HTTPS เสมอ
การจัดการเซสชัน
ระบบสร้างเซสชันใหม่ทุกครั้งที่เข้าสู่ระบบ การเปลี่ยนสิทธิ์ การลบบัญชี และการเปลี่ยนรหัสผ่าน จะมีผลกับหน้าจอที่เข้าสู่ระบบอยู่ทันที การเปลี่ยนอีเมลและรหัสผ่านต้องกรอกรหัสผ่านปัจจุบัน
การตรวจสอบความปลอดภัยในแต่ละรุ่น
ก่อนเผยแพร่เวอร์ชันใหม่ เราจะทำการตรวจสอบต่อไปนี้ การตรวจสอบทำในสภาพแวดล้อมทดสอบที่มีโครงสร้างเดียวกับระบบจริง และไม่ทำกับบริการที่เปิดให้บริการอยู่หรือเซิร์ฟเวอร์ของลูกค้า สิ่งที่ดำเนินการแล้วในเวอร์ชันล่าสุดระบุไว้ใน “ผลการตรวจสอบเวอร์ชันล่าสุด”
| หมวด | รายละเอียดการตรวจสอบ | เครื่องมือ / เกณฑ์ | ความถี่ |
|---|---|---|---|
| ไลบรารีที่ใช้ (Dependencies) | ตรวจสอบว่าไลบรารีที่ใช้ไม่มีช่องโหว่ที่ทราบแล้ว และจัดทำรายการไลบรารีที่ใช้ (SBOM) | composer audit, OSV-Scanner, CycloneDX | ทุกครั้งที่ออกรุ่นใหม่ |
| การวิเคราะห์แบบสถิต | ตรวจหาเส้นทางที่ข้อมูลนำเข้าไปถึงการประมวลผลที่อันตราย (XSS, SQL Injection ฯลฯ) จากซอร์สโค้ด | Psalm (taint analysis), PHPStan (ระดับ 5), Semgrep | ทุกครั้งที่ออกรุ่นใหม่ |
| การปะปนของข้อมูลลับ | ตรวจสอบว่าไม่มีรหัสผ่านหรือ API key อยู่ในซอร์สโค้ดหรือไฟล์ที่แจกจ่าย | gitleaks | ทุกครั้งที่ออกรุ่นใหม่ |
| การสแกนแบบไดนามิก | ส่งคำขอโจมตีจริงขณะเข้าสู่ระบบในฐานะผู้ดูแลระบบและผู้ใช้ทั่วไป แล้วตรวจสอบการตอบสนอง | Nuclei | ทุกครั้งที่ออกรุ่นใหม่ |
| การตรวจสอบสิทธิ์ | ตรวจสอบว่าไม่สามารถดูหรือดำเนินการกับงาน ไฟล์ หรือโน้ตของโปรเจกต์ที่ตนไม่ได้เข้าร่วม โดยการแก้ไข ID ใน URL ได้ | การทดสอบอัตโนมัติ (PHPUnit), การตรวจสอบด้วยตนเอง | ทุกครั้งที่ออกรุ่นใหม่ |
| การอัปโหลดไฟล์ | ตรวจสอบว่าไฟล์ที่รันได้ ไฟล์ที่ปลอมเป็นรูปภาพ ไฟล์ ZIP ที่ดัดแปลงพาธ ฯลฯ ถูกปฏิเสธ | Code Review, การตรวจสอบด้วยตนเอง | ทุกครั้งที่ออกรุ่นใหม่ |
| XSS | ป้อนสตริงสำหรับโจมตีลงในเนื้อหางาน ความคิดเห็น Wiki และข้อความที่สร้างโดย AI แล้วตรวจสอบว่าสคริปต์ไม่ถูกรัน | Code Review, การตรวจสอบด้วยตนเอง | ทุกครั้งที่ออกรุ่นใหม่ |
| การตรวจสอบตามโครงสร้างเซิร์ฟเวอร์ | ตรวจสอบว่าไม่สามารถเข้าถึงไฟล์การตั้งค่าหรือล็อกโดยตรงได้ ในแต่ละกรณีของ Apache, Nginx และรูปแบบการวางโฟลเดอร์สาธารณะ | การตรวจสอบด้วยตนเอง | ทุกครั้งที่ออกรุ่นใหม่ |
| ส่วนขยายสำหรับการเชื่อมต่อ Claude | ช่องโหว่ที่ทราบในไลบรารีที่ส่วนขยายใช้ การจัดการโทเค็น API และข้อจำกัดของปลายทางการส่งคำขอ | npm audit, gitleaks, Code Review | ทุกครั้งที่เผยแพร่ส่วนขยาย |
| การตรวจสอบตนเองด้วยรายการตรวจสอบ | ตรวจสอบการยืนยันตัวตน เซสชัน การตรวจสอบข้อมูลนำเข้า การจัดการข้อผิดพลาด ฯลฯ ทีละรายการ | อ้างอิง OWASP ASVS 5.0 ระดับ 1, IPA (ญี่ปุ่น): How to Secure Your Website | ทุกเวอร์ชันหลัก (Major Version) |
| เว็บไซต์ทางการ | การตั้งค่า HTTPS และ Security Header ของ geckoflag.com | SSL Labs, Mozilla Observatory | เดือนละ 1 ครั้ง |
หากพบปัญหาที่มีความรุนแรงระดับ “สูง” หรือ “ปานกลาง” เราจะไม่เผยแพร่จนกว่าจะแก้ไขและตรวจสอบซ้ำแล้ว สำหรับระดับ “ต่ำ” เราจะตรวจสอบรายละเอียด แล้วแก้ไขหรือบันทึกเหตุผลที่ไม่มีผลกระทบ
นโยบายการอัปเดตไลบรารีที่ใช้
เราตรวจสอบช่องโหว่ที่ทราบแล้วของไลบรารีที่ GeckoFlag ใช้ (เช่น CakePHP) ทุกครั้งที่ออกรุ่นใหม่ หากพบช่องโหว่ที่ส่งผลกระทบต่อ GeckoFlag เราจะเผยแพร่เวอร์ชันที่แก้ไขแล้วภายในระยะเวลาโดยประมาณต่อไปนี้
- ความรุนแรงระดับ “วิกฤต” และ “สูง”: ภายใน 14 วันนับจากวันที่มีการประกาศ
- ความรุนแรงระดับ “ปานกลาง”: ภายใน 30 วันนับจากวันที่มีการประกาศ
- ความรุนแรงระดับ “ต่ำ”: ในรุ่นถัดไป (ไม่เกิน 90 วัน)
แม้ช่องโหว่นั้นจะไม่ส่งผลกระทบตามลักษณะการใช้งานของ GeckoFlag เราก็จะอัปเดตเป็นเวอร์ชันที่แก้ไขแล้วในรุ่นถัดไป ไลบรารีสำหรับการพัฒนาจะไม่รวมอยู่ในไฟล์ที่แจกจ่าย
ผลการตรวจสอบเวอร์ชันล่าสุด: v1.11.0
รอบนี้ตรวจสอบการเปลี่ยนแปลงตั้งแต่ v1.10.0 (การเชื่อมต่อ Claude สีตัวอักษร สีพื้นหลัง และเส้นคั่นในข้อความแบบมีรูปแบบ เป็นต้น) และแก้ไขปัญหาที่มีอยู่ตั้งแต่เวอร์ชันก่อนหน้าไปพร้อมกัน หากคุณใช้ v1.10.0 หรือเก่ากว่า ขอแนะนำให้อัปเดตเป็น v1.11.0
| การตรวจสอบ | เครื่องมือที่ใช้ (เวอร์ชัน) | ที่ตรวจพบ (สูง / ปานกลาง / ต่ำ) | การดำเนินการ |
|---|---|---|---|
| ไลบรารีที่ใช้ (Dependencies) | GitHub Advisory Database, FriendsOfPHP security-advisories (ข้อมูล ณ วันที่ 2026-10-28, 89 แพ็กเกจ) | 0 / 0 / 0 | ไม่พบช่องโหว่ที่ทราบในไลบรารีที่รวมอยู่ในไฟล์สำหรับแจกจ่าย ช่องโหว่ที่ทราบในไลบรารีสำหรับการพัฒนาได้รับการแก้ไขด้วยการอัปเดตใน v1.11.0 (ไลบรารีสำหรับการพัฒนาไม่รวมอยู่ในไฟล์สำหรับแจกจ่าย) |
| การวิเคราะห์แบบสถิตและ Code Review | Psalm 5.26.1 (การวิเคราะห์ taint), PHPStan 2.1.17 (ระดับ 5), Semgrep 1.182.1, Code Review ด้วยตนเอง (ส่วนที่เปลี่ยนแปลงตั้งแต่ v1.10.0: API และโทเค็นของการเชื่อมต่อ Claude ข้อความแบบมีรูปแบบ การคงสถานะเข้าสู่ระบบ การอัปเดตซอฟต์แวร์ รวมถึงการแสดงลิงก์ในทุกหน้าจอ) | 1 / 1 / 3 | แก้ไขปัญหาระดับ “สูง” “ปานกลาง” และระดับ “ต่ำ” 2 รายการแล้วใน v1.11.0 ส่วนปัญหาระดับ “ต่ำ” อีก 1 รายการเกิดขึ้นได้จากการกระทำของผู้ใช้เองเท่านั้น และยืนยันแล้วว่ามีผลกระทบจำกัด ปัญหาระดับ “สูง” มีอยู่ตั้งแต่เวอร์ชันก่อนหน้า |
| การปะปนของข้อมูลลับ | gitleaks 8.24.2 | 0 / 0 / 0 | ตรวจสอบทั้งซอร์สโค้ดและไฟล์สำหรับแจกจ่าย การตรวจพบ 2 รายการเป็นผลบวกลวงทั้งหมด (เช่น สตริงตัวอย่างในไลบรารีภายนอก) |
| การยืนยันการแก้ไข | ทดสอบการทำงานในสภาพแวดล้อมทดสอบ (PHP 8.3, MariaDB 10.11, Apache 2.4, Nginx 1.24, Chromium) | — | ยืนยันแล้วว่าปัญหาก่อนการแก้ไขไม่เกิดซ้ำในทุกรายการที่พบ |
| การสแกนแบบไดนามิก | Nuclei v3.11.1 (เทมเพลต v10.5.1) ดำเนินการในสถานะยังไม่ได้เข้าสู่ระบบ ผู้ดูแลระบบ และสมาชิก | 0 / 0 / 0 | ไม่พบปัญหา |
| การตรวจสอบสิทธิ์ | PHPUnit 12.5 (การทดสอบอัตโนมัติ 454 รายการ นอกจากเนื้อหาเดิม ยังยืนยันว่า API ของการเชื่อมต่อ Claude ปฏิเสธคำขอที่ไม่มีโทเค็น ใช้โทเค็นแบบอ่านอย่างเดียว มาจากผู้ใช้ที่ไม่ได้รับอนุญาต หรือเมื่อปิดฟีเจอร์ และไม่สามารถเข้าถึงโปรเจกต์ที่ผู้ใช้ไม่ได้เข้าร่วม) | 0 / 0 / 0 | ไม่พบปัญหา |
| การตรวจสอบตามโครงสร้างเซิร์ฟเวอร์ | ด้วยตนเอง (การวางโฟลเดอร์สาธารณะ 2 รูปแบบบน Apache 2.4 และ Nginx 1.24, 39 URL เช่น ไฟล์การตั้งค่า ล็อก เซสชัน และไฟล์ที่จัดเก็บ) | 0 / 0 / 1 | แก้ไขใน v1.11.0: การเข้าถึงโฟลเดอร์ไฟล์ของเวอร์ชันเก่า (files) โดยตรงจะถูกปฏิเสธทั้งหมดบน Apache ด้วย ไม่มีปัญหาอื่น |
| รายการตรวจสอบ | OWASP ASVS 5.0 ระดับ 1 (70 รายการ) | ผ่าน 50 จาก 56 รายการที่เกี่ยวข้อง | รอบนี้ไม่ได้ทบทวนใหม่ (ใช้ผลของ v1.10.0 ต่อ) |
| ส่วนขยายสำหรับการเชื่อมต่อ Claude | npm audit, gitleaks 8.24.2, mcpb validate, Code Review ด้วยตนเอง (geckoflag-1.0.0.mcpb) | 0 / 0 / 0 | ไม่พบช่องโหว่ที่ทราบซึ่งส่งผลต่อไลบรารีในไฟล์สำหรับแจกจ่าย ตรวจสอบการจัดการโทเค็น API และข้อจำกัดของปลายทางการส่งคำขอ (HTTPS เท่านั้น และไม่ติดตามการเปลี่ยนเส้นทาง) |
ผลการตรวจสอบของทุกเวอร์ชัน รวมถึงเวอร์ชันก่อนหน้า ดูได้ที่ “ผลการตรวจสอบที่ผ่านมา”
ขอบเขตที่ไม่ได้ตรวจสอบ
การตรวจสอบข้างต้นมีข้อจำกัดดังต่อไปนี้ โปรดพิจารณาประเด็นเหล่านี้ประกอบด้วยเมื่อพิจารณานำไปใช้งาน
- ยังไม่ได้รับการตรวจสอบจากบุคคลภายนอก ในขณะนี้ยังไม่ได้มีการทำ Code Review หรือ Penetration Test โดยผู้เชี่ยวชาญภายนอก
- สภาพแวดล้อมเซิร์ฟเวอร์ของลูกค้าไม่อยู่ในขอบเขตการตรวจสอบ ความปลอดภัยขึ้นอยู่กับการตั้งค่าและสถานะการอัปเดตของ OS เว็บเซิร์ฟเวอร์ PHP และฐานข้อมูลเป็นอย่างมาก
- ยังไม่ได้ตรวจสอบกับสภาพแวดล้อมโฮสติ้งทุกประเภท โครงสร้างที่ตรวจสอบจำกัดเฉพาะที่ระบุไว้ใน “ผลการตรวจสอบเวอร์ชันล่าสุด”
- บริการภายนอกไม่อยู่ในขอบเขต ความปลอดภัยของ API ของ Anthropic ที่ใช้ในฟีเจอร์ AI แอป Claude บนเดสก์ท็อปที่ใช้ในการเชื่อมต่อ Claude และเซิร์ฟเวอร์ส่งอีเมล ฯลฯ ขึ้นอยู่กับผู้ให้บริการแต่ละราย
- เกี่ยวกับสิ่งที่เครื่องมืออัตโนมัติตรวจไม่พบ ปัญหาประเภทที่เครื่องมือตรวจไม่พบ (เช่น ข้อบกพร่องของตรรกะทางธุรกิจ) จะได้รับการเสริมด้วยการตรวจสอบด้วยตนเอง แต่ไม่สามารถครอบคลุมได้ทั้งหมด
การรายงานเมื่อพบช่องโหว่
หากท่านพบปัญหาที่คาดว่าเป็นช่องโหว่ของ GeckoFlag โปรดติดต่อช่องทางด้านล่างโดยตรง แทนการเปิดเผยในที่สาธารณะ นักพัฒนาจะอ่านรายงานทุกฉบับด้วยตนเอง
ช่องทางรายงาน: แบบฟอร์มติดต่อ โปรดเลือกประเภทการติดต่อ “รายงานช่องโหว่” เมื่อติดต่อเรา
ข้อมูลที่ขอให้ระบุในรายงาน
- เวอร์ชันที่เกี่ยวข้อง และหน้าจอหรือฟีเจอร์ที่มีปัญหา
- ขั้นตอนการทำให้เกิดปัญหาซ้ำ (เท่าที่ทำได้)
- ผลกระทบที่คาดว่าจะเกิดขึ้น
- สภาพแวดล้อมเซิร์ฟเวอร์ที่ท่านใช้ (PHP เว็บเซิร์ฟเวอร์ ฯลฯ)
ข้อขอความร่วมมือ
- โปรดทดสอบในสภาพแวดล้อมที่ท่านดูแลเอง และอย่าดำเนินการในลักษณะโจมตีต่อ GeckoFlag ที่ผู้อื่นใช้งานอยู่หรือต่อ geckoflag.com
หากท่านต้องการ เราจะระบุชื่อของผู้รายงานเพื่อแสดงความขอบคุณไว้ในข้อมูลความปลอดภัยของเวอร์ชันที่แก้ไขแล้ว
ค่า SHA-256 ของไฟล์ที่แจกจ่าย
ท่านสามารถตรวจสอบว่าไฟล์ที่ดาวน์โหลดตรงกับไฟล์ทางการหรือไม่ โดยเทียบกับค่าต่อไปนี้
| ไฟล์ | SHA-256 |
|---|---|
| GeckoFlag - 1.11.0.zip | 33354ac588c4cb4de2953c3c26a484953c2bb886f38196ba4bcf4fe629648399 |
| geckoflag-1.0.0.mcpb | 44f2c6dfc9f437856d0680920a327820d757a14116064faa6e46ad8a961d0747 |
วิธีตรวจสอบ: บน Windows ให้รัน Get-FileHash ชื่อไฟล์ -Algorithm SHA256 ใน PowerShell ส่วนบน macOS และ Linux ให้รัน shasum -a 256 ชื่อไฟล์
การตั้งค่าที่แนะนำเพื่อการใช้งานอย่างปลอดภัย
ความปลอดภัยของ GeckoFlag ยังขึ้นอยู่กับการตั้งค่าของเซิร์ฟเวอร์ที่ติดตั้งด้วย เราแนะนำการตั้งค่าต่อไปนี้
- ติดตั้งให้เสร็จทันทีหลังจากอัปโหลด: จนกว่าการติดตั้งจะเสร็จสิ้น ผู้ใดก็ตามที่ทราบ URL จะสามารถเปิดหน้าจอตั้งค่าได้ หลังจากวางไฟล์แล้ว โปรดทำการติดตั้งให้เสร็จทันที
- ใช้งานผ่าน HTTPS: ข้อมูลเข้าสู่ระบบและเนื้อหาของโปรเจกต์จะถูกเข้ารหัสระหว่างการสื่อสาร โฮสติ้งส่วนใหญ่มีใบรับรอง SSL ให้ใช้ฟรี ทั้งนี้ เมื่อเปิดผ่าน HTTPS แล้วครั้งหนึ่ง เบราว์เซอร์จะเชื่อมต่อกับที่อยู่นั้นผ่าน HTTPS ต่อไปอีก 1 ปี (v1.10.0 ขึ้นไป) โปรดระวังหากท่านมีแผนจะเลิกใช้ HTTPS
- ตั้งโฟลเดอร์สาธารณะ (Document Root) เป็น webroot: ไฟล์การตั้งค่าและล็อกจะอยู่ในตำแหน่งที่ไม่สามารถมองเห็นได้จากเว็บ
- หากใช้ Nginx ให้เพิ่มการตั้งค่า: .htaccess ไม่มีผลใน Nginx โปรดตั้งค่าเพิ่มเติมเพื่อปฏิเสธการเข้าถึงโฟลเดอร์ที่ไม่เปิดเผยต่อสาธารณะ และไม่ให้รัน PHP ในโฟลเดอร์ปลายทางของรูปภาพที่อัปโหลด (webroot/img) ดูตัวอย่างการตั้งค่าได้ที่คู่มือ (การติดตั้ง)
- อัปเดตเป็นเวอร์ชันล่าสุด: การแก้ไขด้านความปลอดภัยจะรวมอยู่ในเวอร์ชันล่าสุด โปรดดาวน์โหลดไฟล์อัปเดตจากเว็บไซต์ทางการ และตรวจสอบค่า SHA-256 ตั้งแต่ v1.10.0 เป็นต้นไป ระบบจะตรวจสอบลายเซ็นโดยอัตโนมัติก่อนการอัปเดตด้วย
- ใช้ PHP และฐานข้อมูลเวอร์ชันที่ยังได้รับการสนับสนุน: PHP ที่สิ้นสุดการสนับสนุนแล้วจะไม่ได้รับการแก้ไขอีก
- ปกป้องบัญชีผู้ดูแลระบบ: ใช้รหัสผ่านที่ยาวและคาดเดาได้ยาก และให้สิทธิ์ผู้ดูแลระบบเฉพาะผู้ที่จำเป็นเท่านั้น
- หากใช้งานภายในองค์กร ให้ใช้การจำกัด IP: ท่านสามารถจำกัดที่อยู่ IP ที่เข้าถึงได้จาก “ตั้งค่า”
- สำรองข้อมูลเป็นประจำ: โปรดเก็บฐานข้อมูลและไฟล์ที่อัปโหลดไว้ในที่อื่นที่แยกจากเซิร์ฟเวอร์