เริ่มต้นใช้งาน PDO: การติดตั้งและตั้งค่า
บทนี้เป็นการปูพื้นฐานสำหรับการใช้งาน PDO (PHP Data Objects) โดยเน้นที่การตรวจสอบว่า PDO extension ติดตั้งและเปิดใช้งานแล้ว รวมถึงการสร้าง Data Source Name (DSN)...
ปลดล็อกพลังการจัดการฐานข้อมูลด้วย PHP และ PDO! เรียนรู้ตั้งแต่การเชื่อมต่อฐานข้อมูลอย่างปลอดภัยด้วย Prepared Statements, การทำ CRUD operations อย่างเป็นระบบ, การตรวจสอบและทำความสะอาดข้อมูล, ไปจนถึงการจัดการ Transaction เพื่อให้มั่นใจในความถูกต้องของข้อมูล
เนื้อหาภาษาไทย / Thai content
บทนี้เป็นการปูพื้นฐานสำหรับการใช้งาน PDO (PHP Data Objects) โดยเน้นที่การตรวจสอบว่า PDO extension ติดตั้งและเปิดใช้งานแล้ว รวมถึงการสร้าง Data Source Name (DSN)...
บทความนี้แสดงวิธีการเชื่อมต่อกับฐานข้อมูล MySQL โดยใช้ PDO ใน PHP โดยเริ่มต้นจากการสร้าง PDO object ด้วย DSN, username, และ password พร้อมทั้งอธิบายการจัดการข้อ...
บทความนี้กล่าวถึงการตั้งค่า Attribute ของ PDO เพื่อปรับแต่งการทำงาน เช่น การจัดการข้อผิดพลาด (PDO::ATTR_ERRMODE), รูปแบบการดึงข้อมูล (PDO::ATTR_DEFAULT_FETCH_MO...
บทความนี้แนะนำ Prepared Statements ซึ่งเป็นเครื่องมือสำคัญในการป้องกัน SQL Injection และเพิ่มประสิทธิภาพการทำงานของฐานข้อมูล โดยเน้นการใช้งาน `bindParam()` เพื่...
Read the details, methods, worked steps, and real-world practice in this short article.
บทความนี้อธิบายวิธีการดึงข้อมูลจากฐานข้อมูลด้วย PDO โดยใช้เมธอด `fetch()` สำหรับดึงข้อมูลแถวเดียว และ `fetchAll()` สำหรับดึงข้อมูลทั้งหมด พร้อมทั้งอธิบายถึง fet...
บทนี้อธิบายถึงการสร้างข้อมูลใหม่ (CREATE) ในฐานข้อมูลโดยใช้ PDO และ SQL INSERT statement โดยเน้นการใช้ prepared statements เพื่อป้องกัน SQL Injection และการผูกค...
บทความนี้อธิบายวิธีการอ่านข้อมูลจากฐานข้อมูลโดยใช้ PDO และ SQL SELECT statement ซึ่งเป็นส่วนหนึ่งของ CRUD operations โดยเน้นการใช้ prepared statement เพื่อป้องก...
บทความนี้อธิบายวิธีการแก้ไขข้อมูลในฐานข้อมูลโดยใช้ PDO และคำสั่ง SQL `UPDATE` ซึ่งเป็นส่วนหนึ่งของ CRUD operations โดยเน้นการใช้ Prepared Statements เพื่อป้องกั...
บทความนี้อธิบายวิธีการลบข้อมูลออกจากฐานข้อมูลโดยใช้ PDO และคำสั่ง SQL `DELETE` ซึ่งเป็นส่วนหนึ่งของ CRUD operations โดยเน้นย้ำความสำคัญของการใช้ Prepared Statem...
Read the details, methods, worked steps, and real-world practice in this short article.
บทความนี้กล่าวถึงความสำคัญของการตรวจสอบข้อมูล (Data Validation) เพื่อให้มั่นใจในความถูกต้องและความปลอดภัยของข้อมูลในระบบ โดยเน้นการตรวจสอบประเภทข้อมูลและความยาว...
บทความนี้กล่าวถึงความสำคัญของการทำความสะอาดข้อมูล (Data Sanitization) เพื่อกำจัดข้อมูลที่ไม่พึงประสงค์หรือเป็นอันตราย โดยเน้นการใช้งานฟังก์ชัน `filter_var()` ใน...
บทความนี้กล่าวถึง SQL Injection ซึ่งเป็นช่องโหว่ที่ผู้ไม่หวังดีสามารถแทรกคำสั่ง SQL อันตรายเข้าไปใน query ได้ โดยเน้นย้ำถึงการป้องกันด้วย Prepared Statements ซึ...
บทความนี้อธิบายถึงภัยคุกคาม Cross-Site Request Forgery (CSRF) ซึ่งเป็นการโจมตีที่ผู้ไม่หวังดีหลอกให้เหยื่อที่ล็อกอินอยู่ทำการ request โดยไม่รู้ตัว โดยอาศัยการที...
บทความนี้อธิบายวิธีการสร้างฟอร์มที่ป้องกันการโจมตี CSRF โดยการสร้างและแทรก CSRF token ที่ไม่ซ้ำกันลงในฟอร์มในรูปแบบ hidden field และเก็บ token นี้ไว้ใน session...
บทความนี้อธิบายวิธีการตรวจสอบ CSRF Token ที่ส่งมาจาก Form เพื่อยืนยันความถูกต้องของคำขอ โดยเปรียบเทียบ Token ที่ได้รับกับ Token ที่เก็บไว้ใน Session และลบ Token...
บทความนี้อธิบายถึงความสำคัญของการใช้ password hashing เพื่อเก็บรักษารหัสผ่านของผู้ใช้ให้ปลอดภัย โดยแนะนำให้ใช้ฟังก์ชัน `password_hash()` ของ PHP ซึ่งรองรับ algo...
บทความนี้อธิบายวิธีการใช้ฟังก์ชัน `password_verify()` ใน PHP เพื่อเปรียบเทียบรหัสผ่านที่ผู้ใช้ป้อนกับ hash ที่เก็บไว้ในฐานข้อมูล เพื่อยืนยันตัวตนอย่างปลอดภัย แล...
บทความนี้อธิบายเกี่ยวกับการจัดการ Session ใน PHP โดยเริ่มต้นด้วยการใช้ `session_start()` เพื่อเริ่มต้นหรือดึง Session ที่มีอยู่ ซึ่งต้องทำก่อนส่ง output ใดๆ ไปย...
Read the details, methods, worked steps, and real-world practice in this short article.
บทความนี้อธิบายวิธีการทำลาย Session ใน PHP เพื่อรักษาความปลอดภัยของข้อมูลผู้ใช้ โดยเน้นการใช้ฟังก์ชัน `session_destroy()` เพื่อลบ Session ทั้งหมด และ `unset()`...
บทความนี้อธิบายถึงความสำคัญของการจัดการ Error เมื่อทำงานกับฐานข้อมูลโดยใช้ PDO ใน PHP โดยเน้นการใช้ `try-catch` block เพื่อดักจับ `PDOException` ที่อาจเกิดขึ้นจ...
บทนี้เน้นย้ำความสำคัญของการ Log Error ที่เกิดจากการใช้งาน PDO ใน PHP เพื่อช่วยในการวิเคราะห์และแก้ไขปัญหาของแอปพลิเคชันได้อย่างมีประสิทธิภาพ โดยอธิบายถึงวิธีการ...
บทความนี้อธิบายวิธีการใช้งาน PDO ใน PHP เพื่อสร้างระบบ Pagination สำหรับเว็บไซต์ที่มีข้อมูลจำนวนมาก โดยครอบคลุมตั้งแต่การคำนวณจำนวนหน้าทั้งหมด, การดึงข้อมูลเฉพา...
บทความนี้อธิบายวิธีการใช้งาน `JOIN` statement ใน SQL ร่วมกับ PDO เพื่อดึงข้อมูลจากหลายตารางที่สัมพันธ์กัน โดยเน้นที่ `INNER JOIN`, `LEFT JOIN`, และ `RIGHT JOIN`...
บทความนี้อธิบายถึงการใช้งาน Subquery ใน SQL ร่วมกับ PDO เพื่อดึงข้อมูลที่ซับซ้อน โดย Subquery คือ Query ที่ซ้อนอยู่ภายใน Query หลัก และสามารถใช้ใน WHERE หรือ SE...
บทความนี้อธิบายวิธีการใช้งาน Stored Procedure ร่วมกับ PDO ใน PHP โดย Stored Procedure คือชุดคำสั่ง SQL ที่ถูกจัดเก็บไว้ในฐานข้อมูล ช่วยเพิ่มประสิทธิภาพ, ความปลอ...
บทความนี้อธิบายวิธีการจัดการกับคอลัมน์ Auto-Increment ในฐานข้อมูลโดยใช้ PDO ใน PHP โดยเน้นที่การดึงค่า ID ล่าสุดหลังจากการ INSERT ข้อมูลด้วยเมธอด `lastInsertId(...
Read the details, methods, worked steps, and real-world practice in this short article.
บทความนี้กล่าวถึงเทคนิคการปรับปรุงประสิทธิภาพของ PDO Query เพื่อให้แอปพลิเคชันทำงานได้รวดเร็วขึ้น โดยเน้น 3 หัวข้อหลัก: การใช้ Index ในฐานข้อมูล, การหลีกเลี่ยงก...
บทความนี้อธิบายวิธีการใช้ PDO เพื่อเชื่อมต่อและใช้งานฐานข้อมูลหลายแห่งพร้อมกัน ทั้งฐานข้อมูลประเภทเดียวกันและต่างประเภทกัน โดยเน้นที่การสร้าง PDO object แยกสำหร...
บทความนี้แนะนำ Database Abstraction Layer (DAL) ซึ่งเป็นชั้น abstraction ที่ช่วยซ่อนความซับซ้อนของการจัดการฐานข้อมูลด้วย PDO, ทำให้โค้ดง่ายต่อการบำรุงรักษา, เปล...
บทความนี้แนะนำ Object-Relational Mapping (ORM) ซึ่งเป็น abstraction ที่สูงกว่า Database Abstraction Layer (DAL) ที่เรียนรู้ไปก่อนหน้านี้ โดย ORM ช่วยให้ทำงานกับ...
บทความนี้กล่าวถึง Cross-Site Scripting (XSS) ซึ่งเป็นช่องโหว่ที่ผู้ไม่ประสงค์ดีสามารถแทรกสคริปต์อันตรายเข้าไปในเว็บไซต์ได้ โดยเน้นที่สองแนวทางหลักในการป้องกันคื...
บทความนี้กล่าวถึง Clickjacking ซึ่งเป็นการโจมตีที่หลอกล่อให้ผู้ใช้คลิกสิ่งที่ไม่ตั้งใจ โดยซ่อนเว็บไซต์เป้าหมายไว้ใน iframe ที่มองไม่เห็น บทความแนะนำการป้องกัน C...
บทความนี้กล่าวถึง Brute-Force attack ซึ่งเป็นการโจมตีที่พยายามเดารหัสผ่านหรือข้อมูลลับโดยการลองผิดลองถูก และความเสียหายที่อาจเกิดขึ้น เช่น การเข้าถึงบัญชีโดยไม่...
บทความนี้กล่าวถึงการใช้ CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) เพื่อป้องกัน Bot จากการใช้งานเว็บไซต์อย่างไม่เหมาะส...
บทความนี้กล่าวถึง Rate Limiting ซึ่งเป็นเทคนิคการจำกัดจำนวนการเข้าถึงเว็บไซต์จาก IP address หรือผู้ใช้งานรายเดียวภายในช่วงเวลาที่กำหนด เพื่อป้องกันการโจมตีต่างๆ...
บทความนี้กล่าวถึง Two-Factor Authentication (2FA) ซึ่งเป็นระบบรักษาความปลอดภัยที่ต้องการการยืนยันตัวตนด้วยสองปัจจัยเพื่อเข้าถึงระบบ โดยเน้นที่การใช้งาน TOTP (Ti...
บทความนี้กล่าวถึง Audit Log ซึ่งเป็นเครื่องมือสำคัญสำหรับการบันทึกการเปลี่ยนแปลงข้อมูลในฐานข้อมูล เพื่อใช้ตรวจสอบย้อนหลัง ปฏิบัติตามกฎหมาย และปรับปรุงระบบ โดยอธ...
บทความนี้กล่าวถึงความสำคัญของการสำรองและกู้คืนข้อมูลฐานข้อมูลเพื่อป้องกันข้อมูลสูญหายจากเหตุการณ์ต่างๆ พร้อมทั้งแนะนำวิธีการสร้างสคริปต์ PHP สำหรับสำรองและกู้คื...
บทความนี้กล่าวถึงความสำคัญของการใช้ SSL/TLS เพื่อเข้ารหัสการสื่อสารระหว่างผู้ใช้กับเซิร์ฟเวอร์และระหว่างเว็บเซิร์ฟเวอร์กับฐานข้อมูล เพื่อป้องกันการดักจับข้อมูล...
หลังจากที่เราได้ป้องกันฐานข้อมูลด้วยวิธีการต่างๆ แล้ว สิ่งสำคัญถัดไปคือการเฝ้าระวังความปลอดภัยของฐานข้อมูลอย่างสม่ำเสมอ (Monitor) เพื่อตรวจจับและตอบสนองต่อภัยคุ...
บทความนี้กล่าวถึง Content Security Policy (CSP) ซึ่งเป็นกลไกสำคัญในการป้องกันเว็บไซต์จากการโจมตี Cross-Site Scripting (XSS) โดย CSP ช่วยควบคุมแหล่งที่มาของทรัพย...
ในบทที่แล้วเราได้เรียนรู้เกี่ยวกับ CSP เพื่อป้องกัน XSS ในบทนี้เราได้ศึกษา Subresource Integrity (SRI) ซึ่งเป็นกลไกที่ช่วยให้เบราว์เซอร์ตรวจสอบความสมบูรณ์ของไฟล...
บทความนี้กล่าวถึง Session Hijacking ซึ่งเป็นการขโมย Session ID เพื่อแอบอ้างเป็นผู้ใช้งาน และนำเสนอแนวทางการป้องกันหลัก 3 วิธี ได้แก่ การ regenerate Session ID เ...
บทความนี้กล่าวถึงความสำคัญของการใช้ Prepared Statements ร่วมกับ `LIKE` operator อย่างระมัดระวังเพื่อป้องกัน SQL Injection เมื่อมีการค้นหาข้อมูลโดยใช้ข้อมูลที่ผู...
บทความนี้อธิบายวิธีการใช้งาน `UNION` statement ร่วมกับ PDO ใน PHP เพื่อรวมผลลัพธ์จากหลาย queries อย่างปลอดภัย โดยเน้นย้ำถึงความสำคัญของการใช้ prepared statement...
บทความนี้อธิบายวิธีการทำ Pagination ขั้นสูงโดยใช้ `LIMIT` และ `OFFSET` ร่วมกับ PDO ใน PHP เพื่อจัดการและแสดงผลข้อมูลจำนวนมากอย่างมีประสิทธิภาพ โดยเน้นการใช้งาน...