~/VibeHandbook
PDF ฟรี

บท 18 · 05

การจัดการไฟล์และการอัปโหลด

การให้ผู้ใช้อัปโหลดไฟล์คือทุ่นระเบิดที่เงียบสงบ และร่างแรกของ AI แทบไม่เคยปิดช่องโหว่เหล่านี้เลย:

  • ตรวจสอบชนิดและขนาดของไฟล์ ถ้าไม่มีการจำกัด ใครสักคนอาจอัปโหลดไฟล์ขนาด 10 GB หรือไฟล์ที่รันได้ (executable) ตรวจสอบเนื้อหาจริง ไม่ใช่แค่นามสกุลไฟล์ ซึ่งใครก็เปลี่ยนชื่อได้
  • อย่าไว้ใจชื่อไฟล์ ชื่อไฟล์อย่าง ../../etc/passwd สามารถทำให้ตัวจัดการที่ไม่รัดกุมเขียนไฟล์ออกนอกโฟลเดอร์ที่ตั้งใจไว้ (เรียกว่า path traversal) ให้สร้างชื่อที่ปลอดภัยของคุณเองแทนที่จะใช้ชื่อที่ผู้ใช้ให้มา
  • อย่าให้บริการไฟล์ที่อัปโหลดจากต้นทาง (origin) เดียวกับแอปของคุณ และอย่าปล่อยให้ไฟล์ที่ผู้ใช้อัปโหลดถูกรันเป็นโค้ด ไฟล์ที่ผู้ใช้ส่งเข้ามาแล้วถูกวางไว้ในโฟลเดอร์ที่เซิร์ฟเวอร์ของคุณจะ รัน คือเส้นทางตรงสู่การถูกยึดครอง

คุณไม่จำเป็นต้องสร้างสิ่งเหล่านี้ทั้งหมดเอง — บริการจัดเก็บข้อมูลจะจัดการส่วนใหญ่ให้ — แต่คุณต้อง ขอ เพราะ AI จะไม่เสนอมันให้เองโดยสมัครใจ "เพิ่มฟีเจอร์อัปโหลด" จะได้เพียงเส้นทางที่ราบรื่นที่สุด "เพิ่มฟีเจอร์อัปโหลดที่ตรวจสอบชนิดและขนาดไฟล์ ปฏิเสธทุกอย่างยกเว้นรูปภาพ และเก็บไฟล์ภายใต้ชื่อที่สร้างขึ้น" จะได้บางอย่างที่ใกล้เคียงความปลอดภัยมากกว่า

อยากได้แบบออฟไลน์?

ดาวน์โหลดหนังสือทั้งเล่มเป็น PDF หรือ EPUB — ฟรี