บทนี้สั้นแต่สำคัญที่สุดในหลักสูตร เพราะของที่หลุดไปแล้ว เก็บกลับไม่ได้

อ่านบทนี้ให้จบก่อนเอาระบบไปแตะเงินหรือข้อมูลลูกค้าจริง

สไลด์ 1 — สี่อย่างที่ห้ามหลุดออกจากมือเรา

  • กุญแจระบบ API Key รหัสผ่าน Token ทุกชนิด
  • ข้อมูลลูกค้า ชื่อ ที่อยู่ เบอร์โทร ประวัติการซื้อ
  • ไฟล์ตั้งค่าลับ ไฟล์ที่เก็บกุญแจทั้งหมดไว้
  • ข้อมูลการเงิน ยอดขายจริง ต้นทุน บัญชีธนาคาร

สามข้อห้ามที่ต้องท่องให้ขึ้นใจ ห้ามวางในแชทสาธารณะ ห้ามส่งขึ้นที่เก็บโค้ดแบบเปิด ห้ามแปะในภาพหน้าจอ

ของพวกนี้หลุดครั้งเดียว เก็บกลับไม่ได้ เพราะเราไม่มีทางรู้ว่าใครก๊อปไปแล้วบ้าง

สไลด์ 2 — กุญแจเก็บไว้ตรงไหน ถึงจะปลอดภัย

  • บนเครื่องเรา เก็บในไฟล์ตั้งค่าลับที่ชื่อ .env ใช้ตอนทดสอบบนเครื่องตัวเอง
  • ที่เก็บโค้ดออนไลน์ โค้ดขึ้นไปได้ แต่ไฟล์ .env ต้องไม่ขึ้นไปด้วย เพราะถูกกันไว้ด้วยไฟล์ .gitignore
  • ที่ฝากเว็บ ใส่กุญแจในหน้าตั้งค่า Environment Variables ของบริการนั้นโดยตรง

สรุปคือ กุญแจอยู่บนเครื่องเรากับที่ฝากเว็บเท่านั้น ไม่เคยผ่านที่เก็บโค้ด

ลองทำเลย

สั่ง AI ว่า "ตรวจโปรเจคนี้ว่ามีคีย์หรือรหัสผ่านโผล่อยู่ในโค้ดตรงไหนบ้าง และเช็คว่าไฟล์ .env ถูกกันไว้ใน .gitignore แล้วหรือยัง" ทำก่อนส่งโค้ดขึ้นออนไลน์ครั้งแรกเสมอ

สไลด์ 3 — ถ้ากุญแจหลุดไปแล้ว ทำยังไง

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

สิ่งที่ต้องทำจริง ตามลำดับนี้

  • ยกเลิกกุญแจเดิมทันที
  • สร้างกุญแจใหม่ แล้วใส่กลับที่หน้าตั้งค่าของที่ฝากเว็บ
  • ไล่ดูว่ามีใครแอบใช้ระหว่างนั้นไหม
ยกเลิกกุญแจเดิม สำคัญกว่าลบไฟล์ เพราะกุญแจที่ถูกยกเลิกแล้ว ต่อให้ใครมีก็ใช้ไม่ได้

สามจุดที่คนทำธุรกิจพลาดบ่อยที่สุด

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

คำสั่งตรวจก่อนปล่อยของขึ้นจริง

ตรวจโปรเจคนี้ก่อนขึ้นออนไลน์
1 มีคีย์ รหัสผ่าน หรือ token โผล่ในโค้ดตรงไหนบ้าง
2 ไฟล์ .env ถูกกันไว้ใน .gitignore แล้วหรือยัง
3 มีข้อมูลลูกค้าจริงปนอยู่ในไฟล์ตัวอย่างไหม
รายงานเป็นข้อ ๆ พร้อมบอกว่าต้องแก้ตรงไหน อย่าเพิ่งแก้เอง

เช็คลิสต์ก่อนไปบทถัดไป

  • รู้ว่าสี่อย่างที่ห้ามหลุดคืออะไร
  • ไฟล์ .env ของทุกโปรเจคถูกกันไว้แล้ว
  • กุญแจที่ใช้จริงอยู่ในหน้าตั้งค่าของที่ฝากเว็บ ไม่ได้อยู่ในโค้ด
  • รู้ขั้นตอนที่ต้องทำทันทีถ้ากุญแจหลุด