เปิดเผยคำค้น SQL อย่างปลอดภัย
ให้เข้าถึงฐานข้อมูลแบบอ่านอย่างเดียวโดยไม่มีการฉีดคำสั่ง
เปิดเผยคำค้น SQL อย่างปลอดภัย เป็นบทเรียน MCP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน MCP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส MCP Academy มีบทเรียนทั้งหมด 4 บทเรียน
ฐานข้อมูลเบื้องหลังเครื่องมือ
เซิร์ฟเวอร์ MCP สามารถให้ข้อมูลจริงแก่โมเดลได้ด้วยการนำ ฐานข้อมูล ไว้เบื้องหลังเครื่องมือ ทำให้ AI ถามคำถามแทนการเข้าถึงตารางดิบโดยตรง 🗄️
อ่านได้ ไม่เขียน
เพื่อความปลอดภัย ให้เริ่มด้วยการเปิดให้เข้าถึงแบบ อ่านเท่านั้น ให้โมเดลค้นหาและรายงานข้อมูลได้ แต่ปิดการเพิ่ม แก้ไข และลบข้อมูลไว้
อันตรายจากการแทรกคำสั่ง
อย่านำข้อความจากโมเดลไปใส่ใน SQL โดยตรง เพราะจะเปิดช่องให้เกิด การแทรกคำสั่ง SQL ซึ่งอินพุตที่สร้างขึ้นเป็นพิเศษสามารถเขียนคำค้นของคุณใหม่และทำให้ข้อมูลรั่วไหลหรือถูกทำลาย
query = "SELECT * FROM users WHERE id = " + user_input # unsafe!ใช้คำค้นแบบมีพารามิเตอร์
วิธีแก้คือใช้ คำค้นแบบมีพารามิเตอร์ โดยเขียนตัวแทนค่า แล้วให้ไดรเวอร์ผูกค่าอย่างปลอดภัย ทำให้อินพุตไม่สามารถเปลี่ยนรูปแบบคำค้นได้
cur.execute("SELECT * FROM users WHERE id = ?", (user_id,))รับค่าเป็นอาร์กิวเมนต์
ให้โมเดลส่งค่าเป็น อาร์กิวเมนต์ ที่มีชนิดข้อมูลกำกับ จากนั้นคุณจึงสร้างคำค้น โมเดลส่งข้อมูลมาเท่านั้น ไม่ใช่ข้อความ SQL เอง
@mcp.tool()
def find_user(user_id: int) -> str:
...กำหนดรูปแบบคำค้นให้ตายตัว
เก็บ SQL ที่ ตายตัว ไว้ในโค้ด และใส่เฉพาะพารามิเตอร์ที่ผูกค่าแล้วเท่านั้น การล็อกรูปแบบคำค้นเป็นวิธีที่ง่ายที่สุดในการรักษาความปลอดภัย
ใช้บทบาทแบบอ่านอย่างเดียว
เพิ่มการป้องกันอีกชั้นด้วยการเชื่อมต่อโดยใช้ผู้ใช้ฐานข้อมูลแบบ อ่านอย่างเดียว แม้เครื่องมือจะมีข้อผิดพลาด ก็ไม่สามารถแก้ไขหรือลบข้อมูลของคุณได้ในทางกายภาพ
จำกัดขนาดผลลัพธ์
จำกัดจำนวนแถวด้วย LIMIT เสมอ เพื่อไม่ให้คำค้นที่กว้างเกินไปดึงข้อมูลตารางขนาดใหญ่เข้าสู่โมเดลจนใช้โควตาโทเคนเกินกำหนด
cur.execute("SELECT name FROM users LIMIT 50")อนุญาตเฉพาะตารางที่กำหนด
หากโมเดลเลือกตาราง ให้ตรวจสอบกับ รายการที่อนุญาต ปฏิเสธทุกสิ่งที่ไม่อยู่ในรายการ แทนที่จะเชื่อชื่อที่ได้รับทันที
ส่งคืนแถวข้อมูลอย่างเป็นระเบียบ
จัดรูปแบบผลลัพธ์เป็นข้อความสะอาดหรือระเบียนแบบเรียบง่าย เพื่อให้โมเดลอ่านได้ง่าย ขั้นตอนการให้เหตุผลถัดไปจะชัดเจนได้เมื่อข้อมูลขาเข้าและขาออกมีความชัดเจน
ซ่อนคอลัมน์ที่ละเอียดอ่อน
เลือกเฉพาะคอลัมน์ที่งานต้องใช้ การไม่นำ ข้อมูลลับ เช่น ค่าแฮชรหัสผ่านออกมา จะช่วยเก็บข้อมูลส่วนตัวให้พ้นจากโมเดลโดยสิ้นเชิง
ตรวจสอบความเข้าใจ
สิ่งใดช่วยป้องกันเครื่องมือ SQL จากการแทรกคำสั่ง
สรุป: SQL ที่ปลอดภัย
คุณเปิดให้ใช้ฐานข้อมูลอย่างปลอดภัยแล้ว ได้แก่ คำค้นแบบอ่านอย่างเดียวที่มี พารามิเตอร์ ตารางที่อยู่ในรายการอนุญาต และการจำกัดจำนวนแถว ต่อไปคือการห่อส่วนติดต่อเว็บ API 🎯
เรียนรู้ Python ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 30
- บทเรียน
- 120
คำถามที่พบบ่อย
บทเรียน “เปิดเผยคำค้น SQL อย่างปลอดภัย” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “เปิดเผยคำค้น SQL อย่างปลอดภัย” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส MCP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส MCP Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “เปิดเผยคำค้น SQL อย่างปลอดภัย”
ให้เข้าถึงฐานข้อมูลแบบอ่านอย่างเดียวโดยไม่มีการฉีดคำสั่ง คุณปฏิบัติ MCP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน MCP Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน MCP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “เปิดเผยคำค้น SQL อย่างปลอดภัย” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน MCP Academy นี้ได้ไหม
ได้ บทเรียน MCP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เปิดเผยคำค้น SQL อย่างปลอดภัย
- ห่อ REST API เป็นเครื่องมือ
- รวมกลุ่มการเชื่อมต่อในช่วงอายุการใช้งาน
- แคชและจำกัดอัตราของระบบต้นทาง