Flask Academy · บทเรียน

กำหนดค่า CORS สำหรับไคลเอนต์เบราว์เซอร์

อนุญาตให้ต้นทางที่เชื่อถือได้เรียก API ของคุณ

บทเรียน 2 จาก 413 ขั้นตอน

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

เหตุใดเบราว์เซอร์จึงบล็อกคำขอ

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

CORS คืออะไร

CORS คือชุดส่วนหัวการตอบกลับที่ระบุว่าต้นทางอื่นใดสามารถเรียก API ของคุณได้ เป็นการเปิดทางอย่างตั้งใจ

นิยามของต้นทาง

ต้นทาง ประกอบด้วยโครงร่าง โฮสต์ และพอร์ตรวมกัน พอร์ตที่ต่างกัน หรือการใช้ http แทน https ถือเป็นต้นทางแยกกัน

ทำความรู้จัก Flask-CORS

โดยทั่วไปคุณไม่จำเป็นต้องเขียนส่วนหัวด้วยตนเอง ส่วนขยาย Flask-CORS จะเพิ่มส่วนหัวที่ถูกต้องให้ในทุกการตอบกลับ

pip install Flask-CORS

เปิดใช้ทั่วทั้งแอป

การตั้งค่าที่ง่ายที่สุดคือครอบคลุมทั้งแอป การเรียกใช้ CORS(app) จะอนุญาตทุกต้นทาง ซึ่งเหมาะสำหรับช่วงเรียนรู้

from flask_cors import CORS
CORS(app)

จำกัดให้เหลือต้นทางที่เชื่อถือได้

ในแอปจริง คุณระบุผู้ที่สามารถเรียกใช้ได้ด้วย origins สิ่งใดก็ตามที่ไม่อยู่ในรายการจะยังคงถูกเบราว์เซอร์บล็อก

CORS(app, origins=["https://app.example.com"])

จำกัดเฉพาะบางเส้นทาง

คุณสามารถกำหนดขอบเขตของ CORS ให้กับคำนำหน้าเส้นทางด้วย resources ในกรณีนี้จะเปิดให้ผู้เรียกใช้ภายนอกเข้าถึงเฉพาะเนมสเปซ API ของคุณ

CORS(app, resources={r"/api/*": {"origins": "*"}})

ส่วนหัวสำคัญ

เบื้องหลังแล้ว ส่วนสำคัญคือ Access-Control-Allow-Origin เบราว์เซอร์จะอ่านค่านี้เพื่อพิจารณาว่าจะส่งการตอบกลับให้โค้ดของคุณหรือไม่

คำขอตรวจสอบล่วงหน้า

สำหรับการเรียกใช้บางประเภท เบราว์เซอร์จะส่งคำขอตรวจสอบล่วงหน้าแบบ OPTIONS เพื่อขออนุญาตก่อน Flask-CORS จะตอบคำขอนี้ให้อัตโนมัติ

อนุญาตข้อมูลรับรอง

หากต้องการส่งคุกกี้ข้ามต้นทาง คุณต้องกำหนด supports_credentials โปรดทราบว่าเมื่อทำเช่นนั้นจะไม่สามารถใช้ต้นทางแบบไวลด์การ์ดได้

CORS(app, supports_credentials=True)

CORS ไม่ใช่การยืนยันตัวตน

โปรดจำไว้ว่า CORS มีหน้าที่กำกับเบราว์เซอร์เท่านั้น ไม่ใช่กำแพงรักษาความปลอดภัย ดังนั้น API ของคุณยังต้องมี การยืนยันตัวตน ที่แท้จริง

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

เลือกตำแหน่งที่มีการบังคับใช้การตัดสินใจของ CORS

ทบทวน

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

เริ่มต้นได้ฟรี

เรียนรู้ Python ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
30
บทเรียน
120

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

บทเรียน “กำหนดค่า CORS สำหรับไคลเอนต์เบราว์เซอร์” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “กำหนดค่า CORS สำหรับไคลเอนต์เบราว์เซอร์”

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

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

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

บทเรียน “กำหนดค่า CORS สำหรับไคลเอนต์เบราว์เซอร์” ใช้เวลานานแค่ไหน

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

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

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

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

  1. จำกัดอัตราคำขอด้วย Flask-Limiter
  2. กำหนดค่า CORS สำหรับไคลเอนต์เบราว์เซอร์
  3. ส่วนหัวความปลอดภัยและ HTTPS
  4. ตรวจสอบข้อมูลนำเข้าเพื่อหยุดการฉีด
← กลับไปที่ Flask Academy