กำหนดค่า CORS สำหรับไคลเอนต์เบราว์เซอร์
อนุญาตให้ต้นทางที่เชื่อถือได้เรียก API ของคุณ
กำหนดค่า 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- จำกัดอัตราคำขอด้วย Flask-Limiter
- กำหนดค่า CORS สำหรับไคลเอนต์เบราว์เซอร์
- ส่วนหัวความปลอดภัยและ HTTPS
- ตรวจสอบข้อมูลนำเข้าเพื่อหยุดการฉีด