SECRET_KEY และคุกกี้ที่ลงลายมือชื่อ
วิธีที่ Flask ลงลายมือชื่อข้อมูลเซสชันอย่างปลอดภัย
SECRET_KEY และคุกกี้ที่ลงลายมือชื่อ เป็นบทเรียน Flask Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Flask Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Flask Academy มีบทเรียนทั้งหมด 4 บทเรียน
บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ
Where Sessions Live
By default Flask stores the whole session inside a cookie in the user's browser, not on your server. That has big implications.
The Tampering Problem
If data lives in the browser, a user could edit it. Flask stops that by signing the cookie so changes are detectable.
Meet the SECRET_KEY
Signing needs a secret. The SECRET_KEY is the private value Flask uses to stamp and verify every session cookie. 🔑
app.config['SECRET_KEY'] = 'change-me'No Key, No Sessions
Touch the session without a SECRET_KEY set and Flask raises a RuntimeError. It refuses to sign with nothing.
Signed, Not Encrypted
Important: a default session cookie is signed, not encrypted. Anyone can read it, so never store true secrets inside.
How Signing Verifies
On each request Flask recomputes the signature from the cookie and the key. A mismatch means tampering, so the session is rejected.
Make It Long and Random
A strong SECRET_KEY should be long and unpredictable. Generate one with the secrets module rather than typing a word.
import secrets
key = secrets.token_hex(32)Never Hardcode in Git
Keep the SECRET_KEY out of source control. Load it from an environment variable so each deploy has its own value.
import os
app.config['SECRET_KEY'] = os.environ['SECRET_KEY']Rotating the Key
Change the SECRET_KEY and every existing session signature stops matching. All users get logged out at once.
Same Key Everywhere
Run several app instances behind a load balancer? They must share one SECRET_KEY or each will reject the others' cookies.
Server-Side Alternative
Need bigger or hidden session data? Extensions like Flask-Session keep it on the server and store only an id in the cookie.
Quick Check
Think about what the default Flask session cookie actually protects.
Recap
You saw that SECRET_KEY signs session cookies to catch tampering. Make it long, load it from the environment, and never commit it. 🔐
คำถามที่พบบ่อย
บทเรียน “SECRET_KEY และคุกกี้ที่ลงลายมือชื่อ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “SECRET_KEY และคุกกี้ที่ลงลายมือชื่อ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Flask Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Flask Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “SECRET_KEY และคุกกี้ที่ลงลายมือชื่อ”
วิธีที่ Flask ลงลายมือชื่อข้อมูลเซสชันอย่างปลอดภัย คุณปฏิบัติ Flask Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Flask Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Flask Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “SECRET_KEY และคุกกี้ที่ลงลายมือชื่อ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Flask Academy นี้ได้ไหม
ได้ บทเรียน Flask Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- กำหนดและอ่านพจนานุกรม session
- SECRET_KEY และคุกกี้ที่ลงลายมือชื่อ
- กำหนดคุกกี้แบบกำหนดเองในการตอบกลับ
- ข้อความแฟลชระหว่างคำขอ