คุณไม่ควรเชื่อถืออินพุตของซอฟต์แวร์ของคุณ ไม่เพียง แต่การตรวจสอบประเภทเป็นสิ่งสำคัญ แต่ยังช่วงของอินพุตและตรรกะทางธุรกิจเช่นกัน ตามความคิดเห็นOWASPนี้ถูกอธิบายอย่างดี
การไม่ทำเช่นนั้นจะทำให้คุณมีข้อมูลขยะที่ดีที่สุดที่คุณต้องทำความสะอาดในภายหลัง แต่ที่แย่ที่สุดคุณจะทิ้งโอกาสในการหาช่องโหว่ที่เป็นอันตรายหากบริการอัปสตรีมได้รับการโจมตีในบางลักษณะ (qv the Target hack) ช่วงของปัญหาระหว่างนั้นรวมถึงการทำให้แอปพลิเคชันของคุณอยู่ในสภาพที่ไม่สามารถกู้คืนได้
จากความคิดเห็นที่ฉันเห็นว่าบางทีคำตอบของฉันอาจใช้การขยายตัวเล็กน้อย
โดย "ไม่ไว้วางใจอินพุต" หมายความว่าคุณไม่สามารถสันนิษฐานได้ว่าคุณจะได้รับข้อมูลที่ถูกต้องและเชื่อถือได้จากระบบต้นน้ำหรือปลายน้ำเสมอและดังนั้นคุณควรจะฆ่าเชื้ออินพุตนั้นให้ดีที่สุดเท่าที่จะทำได้หรือปฏิเสธ มัน.
มีการโต้แย้งหนึ่งเรื่องในความคิดเห็นที่ฉันจะกล่าวถึงในตัวอย่าง ในขณะที่ใช่คุณต้องเชื่อใจระบบปฏิบัติการของคุณในระดับหนึ่ง แต่ก็ไม่มีเหตุผลที่จะปฏิเสธผลของตัวสร้างตัวเลขสุ่มหากคุณขอตัวเลขระหว่าง 1 ถึง 10 และตอบกลับด้วย "bob"
ในกรณีของ OP คุณควรตรวจสอบให้แน่ใจว่าแอปพลิเคชันของคุณยอมรับการป้อนข้อมูลที่ถูกต้องจากบริการอัปสตรีมเท่านั้น สิ่งที่คุณทำเมื่อไม่เป็นไรนั้นขึ้นอยู่กับคุณและขึ้นอยู่กับฟังก์ชั่นธุรกิจจริงที่คุณพยายามจะทำ แต่อย่างน้อยที่สุดคุณจะต้องบันทึกมันเพื่อการดีบักในภายหลังและมิฉะนั้นให้แน่ใจว่าใบสมัครของคุณไม่ทำงาน เข้าสู่สถานะที่ไม่สามารถกู้คืนหรือไม่ปลอดภัย
ในขณะที่คุณไม่สามารถรู้ได้ว่ามีใครบางคนป้อนข้อมูล / บางสิ่งบางอย่างอาจทำให้คุณได้แน่นอนคุณสามารถ จำกัด สิ่งที่อนุญาตตามความต้องการทางธุรกิจและทำรายการที่อนุญาตบางรูปแบบตามรายการนั้น