wp-config.php คืออะไร ทำไมผู้ใช้ WordPress ต้องรู้จัก

wp config wordpress

ไฟล์ที่จะขาดไม่ได้ในการติดตั้ง WordPress ก็คือ ไฟล์ wp-config.php ไฟล์นี้อยู่ภายในโฟล์เดอร์หลักของเว็บ WordPress ของคุณ โดยจะทำหน้าที่เก็บข้อมูลสำคัญคือ ข้อมูลการเชื่อมต่อฐานข้อมูล และอื่นๆ

แต่หากคนที่ดาวน์โหลด WordPress มาจาก wordpress.org แล้วแตกโฟล์เดอร์ออกมาครั้งแรกจะไม่พบกับไฟล์นี้ แต่จะพบกับไฟล์ที่ชื่อคล้ายๆ กันคือ wp-config-sample.php

image 34

และหากคุณติดตั้ง WordPress โดยปกติระบบของ WordPress จะทำการสร้างไฟล์ wp-config.php ให้คุณอัตโนมัติจากการที่คุณกรอกแบบฟอร์มด้านล่างนี้ ( ทุกคนคงรู้จักกันดีนะครับ )

ตั้งค่าเชื่อมต่อฐานข้อมูล wordpress

บทนี้ผมไม่ได้สอนสร้างฐานข้อมูล หรือ database user นะครับเน้นสอนแค่เรื่อง wp-config.php เท่านั้น

สร้าง wp-config.php ด้วยตัวเอง

ใครที่อยากเข้าใจ wp-config.php อย่างแจ่มแจ้งผมแนะนำว่าควรลองสร้างด้วยตัวเองดูสักครั้งนะครับ

ก่อนอื่นให้คุณติดตั้ง WordPress ใหม่ขึ้นมาสักเว็บนะครับ ( เอาแค่แตกไฟล์เพื่อให้ได้แค่โฟล์เดอร์ WordPress มาก็พอครับ ยังไม่ต้องเข้าหน้าเว็บผ่านเบราว์เซอร์

ต่อไปคุณก็ทำการ Copy ไฟล์ที่ชื่อว่า wp-config-sample.php (ที่ผมวงไว้ในรูปก่อนหน้าโน้น) และใช้ชื่อว่า wp-config.php เท่านี้คุณก็ได้ไฟล์ wp-config.php ที่สร้างเองมาแล้ว

แต่ยังไม่เสร็จครับ เว็บคุณยังไม่สามารถใช้งานได้

ตั้งค่าการเชื่อมต่อฐานข้อมูลใน wp-config.php

เปิดไฟล์ wp-config.php ขึ้น คุณจะได้โค้ดดังภาพครับ และในบริเวณที่ผมวงไว้คือ บริเวณสำหรับตั้งค่าตัวแปรในการเชื่อมต่อฐานข้อมูล

ตัวอย่างโค้ดตั้งค่าเชื่อมต่อฐานข้อมูลใน wp-config.php

โดยสิ่งที่เราต้องแก้ไขมีดังนี้ครับ

  • DB_NAME – ชื่อฐานข้อมูลที่ต้องการเชื่อมต่อ
  • DB_USER – ชื่อ username ที่ใช้เชื่อมต่อกับฐานข้อมูลนั้น
  • DB_PASSWORD – รหัสผ่านของ username ข้างต้น
  • DB_HOST – ชื่อโฮส MySQL โดยปกติเป็น localhost, localhost:3306, mysql:3306 หรืออื่นๆ ( หากคุณไม่ทราบสามารถสอบถามผู้ดูแลโฮสของคุณได้ครับ )
  • ค่า DB_CHARSET และ DB_COLLATE ไม่ต้องแก้ไขนะครับ

เมื่อตั้งค่าเรียบร้อยก็จะได้ดังนี้ครับ

การตั้งค่าข้อมูลการเชื่อมต่อฐานข้อมูลใน wp-config.php
*สำคัญ : โค้ดในไฟล์ wp-config-sample.php 
ตำแหน่งการจัดวางคุณห้ามเปลี่ยนแปลงนะครับ เช่น
คุณจะย้ายข้อมูลการเชื่อมต่อฐานข้อมูลไปไว้ใต้
require_once( ABSPATH . 'wp-settings.php' );
ก็จะทำให้เว็บใช้งานไม่ได้นะครับ
เพราะฉะนั้นแก้ไขแค่ค่าตามที่ผมระบุ พอนะครับ ไม่ควรย้ายตำแหน่ง

Security Keys และ Salts

ส่วนนี้คือส่วนที่เก็บรหัสลับที่จะมาช่วยให้เว็บไซต์ของคุณถูกโจมตีได้ยากขึ้น เช่น

  • รหัสลับที่ใช้เพิ่มเข้าไปกับรหัสผ่านที่คุณตั้ง เพื่อให้ว่าแม้โดนแฮคฐานข้อมูล แฮคเกอร์ก็ไม่สามารถทราบได้ว่ารหัสผ่านที่แท้จริงคืออะไร
  • รหัสลับที่เพิ่มเข้าไปกับชื่อและค่าของคุกกี้

ส่วนการทำงานอย่างละเอียดเป็นอย่างไร ไว้มีโอกาสผมจะมาเจาะให้อ่านกันนะครับ

หัวข้อต่อไปจะมาสอนสร้าง Salt Keys กันนะครับ แต่ไม่ต้องตกใจ หากคุณติดตั้ง WordPress แบบปกติคือ ไม่ได้เข้ามาจัดการไฟล์ wp-config เอง WordPress จะสร้างรหัสเหล่านี้ให้อัตโนมัติอยู่แล้ว

สร้าง Security Keys และ Salts ลงใน wp-config.php

1. ไปที่ https://api.wordpress.org/secret-key/1.1/salt/

พอเข้าไปเราก็จะได้หน้าเว็บที่แสดง keys ดังภาพครับ

image 40

2. จากนั้นนำ keys ที่ได้มาวางทับบริเวณดังภาพด้านล่างเลยครับ

ค่าเริ่มต้น WordPress Security Keys และ Salts

เมื่อวางเสร็จแล้วก็จะได้ประมาณนี้ครับ

ตัวอย่างรหัส WordPress Security Keys และ Salts

เท่านี้เราก็ตั้งค่า Security Keys และ Salts ให้กับเว็บไซต์เราเรียบร้อยแล้วครับ

table_prefix 

โค้ด table_prefix

ตัวแปร $table_prefix นั้นคือตัวแปรสำหรับตั้งค่า คำขึ้นต้นชื่อของตารางในฐานข้อมูล โดยค่าเริ่มต้นคือ “wp_”

หลักการตั้ง table_prefix

ต้องตั้งเป็นตัวเลข ตัวอักษร และ _ เท่านั้น

ประโยชน์ของ table_prefix

  • สำหรับบางเว็บใน 1 ฐานข้อมูลอาจจะมีเว็บไซต์ WordPress หลายเว็บทำให้การเรียกใช้งานตารางๆ ต้องมีชื่อที่ต่างกัน ซึ่งแก้โดยการตั้งค่า $table_prefix ต่างกัน เช่น “wp_” และ “wp1_” เป็นต้น
ตัวอย่างฐานข้อมูลเดียวแต่มี 2 เว็บ wordpress
  • ประโยชน์อีกข้อหนึ่งคือ จากที่กล่าวมาแล้วว่าค่าเริ่มต้นของ $table_prefix คือ wp_ ซึ่งคนทั่วไปรู้จักรวมถึงแฮ็กเกอร์ด้วยเช่นกัน ดังนั้น หากเว็บเรามีช่องโหว่ที่ทำให้แฮ็กเกอร์สามารถดึงข้อมูลจากฐานข้อมูลของเราได้ และต้องการดูข้อมูลสมาชิกในฐานข้อมูลเรา โดยปกติจะดูได้ที่ตาราง wp_users แต่ถ้าหากเราตั้งค่า $table_prefix เป็นค่าอื่นที่ยากขึ้น เช่น r1c2e_ แฮ็กเกอร์ก็จะไม่สามารถดึงข้อมูลได้เนื่องจากตาราง wp_users นั้นไม่มีอยู่ในฐานข้อมูลของเรา แต่มีตาราง r1c2e_users มาแทน

สรุป : wp-config.php คืออะไร

จากเนื้อหาทั้งหมดคงทราบกันแล้วว่า wp-config.php ก็คือไฟล์สำหรับการ config เว็บไซต์ที่สร้างด้วย WordPress นั้นเอง ซึ่งยังมีตัวแปรอื่นๆ ที่สามารถตั้งค่าได้อีกหลายตัว หากต้องการศึกษาเพิ่มสามารถอ่านได้ที่หมวดหมู่ WordPress Constant Variables แต่การปรับแก้ทุกครั้งต้องทำอย่างระมัดระวังนะครับ เพราะถ้าพิมพ์อะไรผิดไปนิดเดียว เว็บสามารถพังได้ทันทีครับ และควรทำการ Backup เว็บไซต์ไว้ทุกครั้งก่อนด้วย

ที่มา
https://wordpress.org/support/article/editing-wp-config-php/