0Pricing
MCP Academy · บทเรียน

เคารพขอบเขตของไคลเอ็นต์

ทำงานอยู่ภายในขอบเขตที่โฮสต์อนุญาต

เคารพขอบเขตของไคลเอ็นต์ เป็นบทเรียน MCP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน MCP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส MCP Academy มีบทเรียนทั้งหมด 4 บทเรียน

การรู้ยังไม่เพียงพอ

คุณสามารถดึงรูตและอ่านความสามารถได้ แต่งานที่แท้จริงคือการเคารพข้อมูลเหล่านั้น เซิร์ฟเวอร์ที่น่าเชื่อถือจะทำงานอยู่ภายในขอบเขตที่โฮสต์กำหนดไว้ 🚧

ทำงานอยู่ภายในรูต

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

แปลงพาธก่อนเสมอ

พาธที่แอบแฝงอย่าง ../../etc สามารถหลบหนีออกจากรูตได้ ให้แปลงเป็นพาธสัมบูรณ์ที่ปรับรูปแบบเป็นมาตรฐานก่อน แล้วจึงเปรียบเทียบกับโฟลเดอร์ที่อนุญาต

from pathlib import Path
real = Path(p).resolve()

ตรวจสอบการอยู่ภายในอย่างปลอดภัย

ทดสอบว่าพาธที่แปลงแล้วเป็นพาธสัมพัทธ์เมื่อเทียบกับรูตหรือไม่ ตัวช่วยของ pathlib จะส่งข้อผิดพลาดหากพาธหลุดออกไป ทำให้คุณตัดสินใจได้อย่างชัดเจนว่าจะดำเนินการต่อหรือไม่

real.relative_to(root_path)

อย่าใช้ความสามารถที่ไม่มี

หากไคลเอ็นต์ไม่เคยประกาศความสามารถใด ก็อย่าเรียกใช้ การเคารพขอบเขตหมายถึงการเชื่อถือการเจรจาตกลง ไม่ใช่ทดลองเรียกฟีเจอร์ที่ไม่เคยได้รับอนุญาต

ลดความสามารถลงอย่างเหมาะสม

เมื่อไม่มีรูตหรือไม่รองรับรูต อย่าคาดเดาเกี่ยวกับระบบไฟล์ ให้จำกัดขอบเขตการทำงานของเครื่องมือและบอกเหตุผลแก่ผู้ใช้ แทนการหยิบพาธใด ๆ มาใช้ตามใจ

ใช้สิทธิ์เท่าที่จำเป็นเป็นค่าเริ่มต้น

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

ขอบเขตไม่ได้มีแค่โฟลเดอร์

การเคารพไม่ได้จำกัดอยู่แค่พาธเท่านั้น ให้เคารพจังหวะการทำงานและข้อจำกัดของโฮสต์ด้วย เพื่อไม่ส่งคำเรียกจำนวนมากจนเกินไปหรือเพิกเฉยต่อการยกเลิกที่ผู้ใช้ร้องขอ

ตรวจสอบใหม่หลังการเปลี่ยนแปลง

เมื่อมีการแจ้งเตือน listChanged เกี่ยวกับรายการรูต ให้ตรวจสอบใหม่กับพาธที่เก็บไว้ โฟลเดอร์ที่อนุญาตเมื่อหนึ่งนาทีก่อนอาจอยู่นอกขอบเขตปัจจุบันของผู้ใช้แล้ว

ล้มเหลวอย่างชัดเจน อย่าขยายขอบเขต

หากคำขอชี้ไปนอกขอบเขตของรูต ให้ส่งข้อผิดพลาดที่ชัดเจนซึ่งโมเดลอ่านได้ การปฏิเสธอย่างสุภาพย่อมดีกว่าการทำสิ่งที่ผู้ใช้ไม่เคยอนุญาตโดยเงียบ ๆ

เหตุใดสิ่งนี้จึงสร้างความไว้วางใจ

เซิร์ฟเวอร์ที่เคารพขอบเขตคือเซิร์ฟเวอร์ที่ผู้ใช้ยังคงติดตั้งไว้ การกำหนดขอบเขตที่ดีเปลี่ยนเครื่องมือทรงพลังให้เป็นเครื่องมือปลอดภัยที่ผู้ใช้ยินดีมอบสิทธิ์ให้ 💛

ตรวจสอบอย่างรวดเร็ว

คำขอหนึ่งพุ่งไปยังพาธที่อยู่นอกทุก ๆ รูตที่ประกาศไว้ เซิร์ฟเวอร์ควรทำอย่างไร

สรุป: เคารพข้อจำกัด

คุณแปลงพาธ ยืนยันว่าพาธอยู่ภายในรูต ข้ามความสามารถที่ไม่ได้ประกาศ ลดความสามารถลงอย่างเหมาะสม และปฏิเสธงานที่อยู่นอกขอบเขต นี่คือสิ่งที่ทำให้เซิร์ฟเวอร์น่าเชื่อถือ ✅

คำถามที่พบบ่อย

บทเรียน “เคารพขอบเขตของไคลเอ็นต์” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “เคารพขอบเขตของไคลเอ็นต์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส MCP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส MCP Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “เคารพขอบเขตของไคลเอ็นต์”

ทำงานอยู่ภายในขอบเขตที่โฮสต์อนุญาต คุณปฏิบัติ MCP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน MCP Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน MCP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “เคารพขอบเขตของไคลเอ็นต์” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน MCP Academy นี้ได้ไหม

ได้ บทเรียน MCP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. Roots บอกอะไรแก่เซิร์ฟเวอร์
  2. ร้องขอ Roots ของไคลเอ็นต์
  3. เจรจาความสามารถ
  4. เคารพขอบเขตของไคลเอ็นต์
← กลับไปที่ MCP Academy