Caching Strategies: Redis + CDN + Edge Computing · บทเรียน

การวางยาพิษแคชและการป้องกันชั้นแคช

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

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

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

บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ

What Is Cache Poisoning?

Web cache poisoning tricks a cache into storing a malicious response that is then served to other users. The attacker manipulates an input that influences the response but is not part of the cache key.

  • Attacker sends a crafted request
  • Origin reflects attacker input into the response
  • Cache stores it and serves it to everyone

Unkeyed Inputs Are the Risk

The root cause is an unkeyed input: a header or parameter that changes the response but is excluded from the cache key. If an attacker controls it, they poison the shared entry.

Example: Poisoning via a Custom Header

Imagine the origin reflects X-Forwarded-Host into a generated URL but the cache ignores that header. An attacker sets it to their domain, and the cached page now points everyone at attacker resources.

GET / HTTP/1.1
Host: example.com
X-Forwarded-Host: evil.com

Cache Key Hygiene

The primary defense is to include every input that affects the response in the cache key, or to strip dangerous headers before caching. Never reflect untrusted headers into cached output.

Cache Deception

Cache deception tricks the cache into storing private data under a public-looking URL. An attacker appends a fake static extension so the cache treats a sensitive page as a cacheable asset.

https://app.com/account/info.css   (still serves the private account page)

Defending Against Deception

Defend by caching based on the actual Content-Type and explicit rules, not just the URL extension. Never cache responses marked private or that set authenticated cookies.

Stripping Risky Headers

Configure the edge to drop headers an attacker should not control before they reach the origin or cache, such as forwarded-host style headers unless explicitly trusted.

proxy_set_header X-Forwarded-Host "";

Sanitizing Reflected Values

If the origin must echo a value, validate and encode it. Never build cacheable URLs or scripts directly from request headers without strict allow-lists.

Separating Authenticated Traffic

Authenticated responses should generally bypass shared caches. Route logged-in requests around the public cache, or mark them private, no-store so they are never shared.

Cache-Control: private, no-store

Monitoring for Poisoning

Watch for anomalies: sudden cache entries with unexpected hosts, spikes in 4xx after a deploy, or reports of users seeing foreign content. Detection lets you purge fast.

Hardening Checklist

Protect the cache layer by:

  • Keying on every response-affecting input
  • Stripping untrusted forwarding headers
  • Caching by content type, not URL extension
  • Never caching private or authenticated responses
  • Encoding any reflected request values

Quick Check

Test your cache security understanding.

Recap

You learned how cache poisoning and cache deception attacks exploit unkeyed inputs and URL-based caching. You saw defenses: rigorous cache-key hygiene, stripping untrusted headers, caching by content type, never sharing authenticated responses, and monitoring for anomalies.

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

เรียนรู้ Caching Strategies: Redis + CDN + Edge Computing ด้วย AI tutor — ฟรี

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

คอร์ส
12
บทเรียน
48

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

บทเรียน “การวางยาพิษแคชและการป้องกันชั้นแคช” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การวางยาพิษแคชและการป้องกันชั้นแคช”

เรียนรู้ว่าการวางยาพิษแคชและการโจมตีหลอกลวงทำงานอย่างไร และวิธีเสริมความแข็งแกร่งให้ชั้นแคชด้วยการจัดการคีย์และส่วนหัวอย่างรอบคอบ คุณปฏิบัติ Caching Strategies: Redis + CDN + Edge Computing ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Caching Strategies: Redis + CDN + Edge Computing หรือไม่

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

บทเรียน “การวางยาพิษแคชและการป้องกันชั้นแคช” ใช้เวลานานแค่ไหน

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

ฉันเขียนและรันโค้ดในบทเรียน Caching Strategies: Redis + CDN + Edge Computing นี้ได้ไหม

ได้ บทเรียน Caching Strategies: Redis + CDN + Edge Computing ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. กลไกสำรองของแคชและ Circuit Breaker
  2. แนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัยสำหรับแคช
  3. แนวโน้มในอนาคตของการแคช
  4. การวางยาพิษแคชและการป้องกันชั้นแคช
← กลับไปที่ Caching Strategies: Redis + CDN + Edge Computing