Dev to webs {Coding…}

ร บทเรียนฟรีด้านการพัฒนาซอฟต์แวร์ ที่ครอบคลุมเนื้อหาหลากหลาย ตั้งแต่การเขียนโค้ดพื้นฐานไปจนถึงเทคนิคขั้นสูง

บทที่ 31: การสร้างฟอร์มและการใช้งาน CSRF Token

🔹 เกริ่นนำ

เมื่อพูดถึงการสร้างฟอร์มใน Laravel ไม่ว่าจะเป็นแบบสมัครสมาชิก ล็อกอิน หรือแบบฟอร์มติดต่อ สิ่งสำคัญที่ไม่ควรมองข้ามคือเรื่องของความปลอดภัยจากการโจมตีแบบ CSRF (Cross-Site Request Forgery) ซึ่ง Laravel มีระบบป้องกันนี้ติดตั้งมาให้อัตโนมัติผ่าน CSRF Token

ในบทเรียนนี้ คุณจะได้เรียนรู้การสร้างฟอร์มแบบง่าย ๆ ด้วย Blade Template และการใช้งาน CSRF Token ที่ Laravel สร้างให้โดยอัตโนมัติ พร้อมทั้งอธิบายเหตุผลว่าทำไมจึงต้องมี และวิธีตรวจสอบว่าฟอร์มของคุณปลอดภัยจากการถูกโจมตีหรือไม่

🔸 ตัวอย่างการสร้างฟอร์มใน Blade

<form action="/submit" method="POST">
    @csrf
    <label for="name">Name:</label>
    <input type="text" name="name" id="name">

    <label for="email">Email:</label>
    <input type="email" name="email" id="email">

    <button type="submit">Send</button>
</form>

💡 คำสั่ง @csrf จะเพิ่ม hidden input ที่มี token พิเศษซึ่ง Laravel จะตรวจสอบในฝั่งเซิร์ฟเวอร์ ถ้าไม่มีหรือไม่ถูกต้อง Laravel จะไม่ประมวลผล request นั้น

🧪 การปิดการตรวจสอบ (ใช้เฉพาะในกรณีพิเศษ)

// ใน App\Http\Middleware\VerifyCsrfToken.php
protected $except = [
    '/webhook/line',
];