ฉันได้ยินมาว่าการเปิดเผย ID ฐานข้อมูล (ใน URL เป็นต้น) เป็นความเสี่ยงด้านความปลอดภัย แต่ฉันมีปัญหาในการทำความเข้าใจว่าเหตุใด
มีความคิดเห็นหรือลิงก์ว่าเหตุใดจึงเสี่ยงหรือเหตุใดจึงไม่เป็นเช่นนั้น
แก้ไข: แน่นอนว่าการเข้าถึงนั้นถูกกำหนดขอบเขตไว้เช่นหากคุณไม่เห็นทรัพยากรfoo?id=123
คุณจะได้รับหน้าข้อผิดพลาด มิฉะนั้น URL ควรเป็นความลับ
แก้ไข: หาก URL เป็นความลับอาจมีโทเค็นที่สร้างขึ้นซึ่งมีอายุการใช้งาน จำกัด เช่นใช้ได้ 1 ชั่วโมงและใช้ได้เพียงครั้งเดียว
แก้ไข (หลายเดือนต่อมา): แนวปฏิบัติที่ฉันต้องการในปัจจุบันคือการใช้ UUIDS สำหรับ ID และเปิดเผย ถ้าฉันใช้หมายเลขตามลำดับ (โดยปกติสำหรับประสิทธิภาพในบางฐานข้อมูล) เป็น ID ฉันชอบสร้างโทเค็น UUID สำหรับแต่ละรายการเป็นคีย์สำรองและเปิดเผยสิ่งนั้น