คู่มือขั้นสูงของผู้พัฒนาสำหรับไฟล์ wp-config.php

เผยแพร่แล้ว: 2022-09-28

คุณรู้จัก wp-config ดีแค่ไหน? มีพลังมหาศาลใน PHP สองสามบรรทัดเหล่านั้น! บทความนี้เป็นการแนะนำบางส่วนของ wp-config ที่คุณอาจไม่เคยรู้มาก่อน แต่ควรทราบจริงๆ

คุณรู้ ทุกอย่าง เกี่ยวกับ wp-config.php หรือไม่? คุณได้อ่านหน้าเอกสารของ WordPress เกี่ยวกับมัน ทั้งหมด แล้วหรือยัง? จนถึงที่สุด?

หากคุณคุ้นเคยกับพื้นฐานของ wp-config แล้ว การอ่านเอกสารอย่างเป็นทางการของ WordPress อาจเป็นงานงีบหลับที่เหมาะสม

หากคุณต้องการให้นักพัฒนาตัวจริงปฏิบัติต่อ โดยจัดกลุ่มอย่างดีตามหัวเรื่อง และนำเสนอด้วยสิ่งที่เรียกว่า "ความกระตือรือร้นที่ไม่จำเป็นโดยสิ้นเชิงกับค่าคงที่ PHP สองสามตัว" ให้ยึดไว้: ฉันจะทำให้ wp-config.php เย็นลงอีกครั้ง

Milhouse จาก The Simpsons พร้อม "wp-config" ทั่วใบหน้าและคำบรรยายว่า "แม่ของฉันบอกว่าฉันเจ๋ง"

สารบัญ

  1. ใครควรอ่านสิ่งนี้?
  2. ทำไมคุณควรอ่านสิ่งนี้
  3. พื้นฐาน
  4. กำลังดูค่าคงที่ wp-config
  5. ทำลาย wp-config.php กำลังโหลดกระบวนการ
    1. wp-config สามารถย้ายขึ้นได้
    2. หน้าจอการตั้งค่าจะโหลดขึ้นหากไม่มีไฟล์ wp-config.php
    3. wp-config.php โหลดเร็วมาก
    4. อย่ายุ่งกับ wp-config.php!
  6. การตรวจสอบ/ Linting ไฟล์ wp-config.php ของคุณ
  7. การรักษาความปลอดภัย WordPress ด้วย wp-config.php
    1. การปกป้อง wp-config.php จากผู้เยี่ยมชมเว็บไซต์
    2. แป้นหมุน/เกลือ
    3. ขนย้ายและซ่อนสิ่งของ
    4. ปิดการใช้งานตัวแก้ไขไฟล์
    5. ปิดใช้งานการอัปเดตอัตโนมัติ
    6. การป้องกันการร้องขอ HTTP ภายนอก
  8. ขนย้ายสิ่งของ
    1. การย้าย User และ Usermeta Tables
    2. ย้ายไดเรกทอรีเนื้อหา อัปโหลด และปลั๊กอิน
  9. การตั้งค่าที่เกี่ยวข้องกับเนื้อหา
    1. เปลี่ยน URL ของไซต์และแดชบอร์ด
    2. การตั้งค่าโพสต์
    3. โพสต์การแก้ไข
    4. การเปลี่ยนช่วงเวลาบันทึกอัตโนมัติ
  10. ห่อ

ใครควรอ่านสิ่งนี้?

บทความนี้มุ่งเป้าไปที่นักพัฒนาและผู้ใช้ขั้นสูงที่รู้วิธีแก้ไข wp-config.php แล้วและทราบการตั้งค่าการกำหนดค่าบางอย่างที่คุณสามารถใส่เข้าไปได้

ฉันจะไม่บอกวิธีแก้ไขไฟล์โดยใช้ FTP หรือ cPanel หรือเหตุใดคุณจึงไม่ควรใช้ MS Word เพื่อแก้ไข

ฉันจะไม่บอกคุณถึงวิธีกำหนดค่าฐานข้อมูลของคุณหรือดูการตั้งค่าแบบเดิมที่คุณใช้ในปี 2013 แต่จริงๆ แล้วไม่ควรมีความจำเป็นอีกต่อไป และเจ้าของที่พักส่วนใหญ่จะดูแลพื้นฐานให้คุณอยู่ดี

หากคุณเพิ่งเริ่มใช้ wp-config.php จะไม่มีการขาดแคลนคู่มือที่จะให้ข้อมูลพื้นฐานแก่คุณ หรือคุณสามารถศึกษาเอกสารอย่างเป็นทางการได้เสมอ

ทำไมคุณควรอ่านสิ่งนี้

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

ถ้าคุณพอใจกับการแก้ไข wp-config.php และคุณทราบพื้นฐานของสิ่งที่ทำ แสดงว่าอย่างน้อยคุณก็เป็นนักพัฒนา WordPress ระดับกลาง

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

นอกจากนี้ คุณเกือบจะต้องการปิดกั้นคุณลักษณะบางอย่างของ WordPress มากกว่าที่โฮสต์ของคุณจะอนุญาตให้คุณกำหนดค่าโดยอัตโนมัติ

อาจมีบางสิ่งที่คุณไม่รู้ด้วยซ้ำว่าคุณ สามารถ ทำได้ด้วย wp-config.php ! บางส่วน "Aha!" ช่วงเวลาที่จะมี

บทความนี้เป็นจุดอ้างอิงที่มีประโยชน์สำหรับการกำหนดค่าภายในของ WordPress บางส่วน ดังนั้นโปรดอ่าน คั่นหน้า และแบ่งปันกับเพื่อนและเพื่อนร่วมงานของคุณ

พื้นฐาน

ฉันบอกว่านี่ไม่ใช่บทความสำหรับผู้เริ่มต้น แต่เราควรสร้างข้อเท็จจริงพื้นฐานเพื่อให้แน่ใจว่าเราอยู่ที่จุดเริ่มต้นเดียวกัน

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

จำเป็นอย่างยิ่งต่อการทำงานของ WordPress มันเก็บชุดของค่าคงที่ที่ให้คุณระบุ:

  • การเชื่อมต่อฐานข้อมูลและคำนำหน้าตารางที่ WordPress ใช้
  • ข้อมูลความปลอดภัย เช่น เกลือและคีย์การตรวจสอบสิทธิ์
  • การตั้งค่าคุณสมบัติอื่นๆ ของ WordPress core เช่น WP_CACHE และ WP_DEBUG
  • การตั้งค่าสำหรับปลั๊กอินที่อาจเพิ่มตัวเลือกของตนเองลงในไฟล์
  • ตัวเลือกการกำหนดค่าของคุณเอง

สิ่งสำคัญที่สุดคือ wp-config.php เป็นไฟล์เฉพาะสภาพแวดล้อม เนื้อหาสามารถ (และควร!) ที่แตกต่างกันสำหรับไซต์ต่างๆ แม้แต่สำเนาในเครื่อง การแสดงละคร และแบบสดของไซต์เดียวกันก็ยังมีค่าต่างกันในไฟล์

WordPress มาพร้อมกับ wp-config-sample.php ที่มีรายละเอียดขั้นต่ำที่ WordPress ต้องการในการทำงาน คุณสามารถคัดลอกสิ่งนี้ไปยัง wp-config.php ของคุณเองโดยเป็นส่วนหนึ่งของการติดตั้ง แต่วันนี้มักจะทำเพื่อคุณ

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

กำลังดูค่าคงที่ wp-config

มีสองสามวิธีในการตรวจสอบค่าคงที่ของ WordPress อย่างรวดเร็วโดยไม่ต้องใช้ SSHing ไปยังเซิร์ฟเวอร์ระยะไกลและเปิดไฟล์

คุณลักษณะความสมบูรณ์ของไซต์ของแกน WordPress ช่วยให้คุณสามารถดูค่าพื้นฐานบางอย่างได้โดยไปที่เครื่องมือ -> สถานภาพไซต์ -> ข้อมูล -> ค่าคงที่ของ WordPress ค่าคงที่ฐานข้อมูลสามารถดูได้ในส่วน "ฐานข้อมูล" ของหน้าเดียวกัน

ค่าคงที่ฐานข้อมูล แสดงไว้ในส่วนฐานข้อมูลของหน้าสถานภาพไซต์ WordPress

ปลั๊กอิน Query Monitor มีแผง "สภาพแวดล้อม" ซึ่งคุณสามารถดูค่าคงที่ wp-config ที่ใช้กันทั่วไปได้

แผง "สภาพแวดล้อม" ของปลั๊กอิน Query Monitor แสดงค่าคงที่ wp-config ที่ใช้กันทั่วไป

WP-CLI ซึ่งเป็นอินเทอร์เฟซบรรทัดคำสั่งของ WordPress มีคำสั่ง wp config ที่สามารถใช้เพื่อรับและตั้งค่าคงที่ใน wp-config.php โดยปกติคุณจะต้องใช้ SSH ก่อน แต่ถ้าคุณตั้งค่านามแฝงในการกำหนดค่า WP-CLI ของคุณ คุณสามารถสร้างทางลัดด่วนเพื่อดูและแก้ไขค่าคงที่ใน wp-config ระยะไกลได้

ทำลาย wp-config.php กำลังโหลดกระบวนการ

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

  • WordPress เริ่มโหลดด้วยไฟล์ index.php สิ่งนี้ต้องการ wp-blog-header.php

  • สิ่งแรกที่ค่อนข้างมากที่ wp-blog-header.php ทำคือ load wp-load.php

  • ถัดไป wp-load.php ตั้งค่าคงที่ ABSPATH (ไดเร็กทอรีหลักของ WordPress) และเริ่มต้น error_reporting() ก่อนโหลด wp-config.php

กระบวนการโหลดนี้ และโค้ดใน wp-load.php โดยเฉพาะ สามารถสอนสิ่งที่น่าสนใจบางอย่างให้เราได้ นี่คือรหัสนั้น:

 /* * If wp-config.php exists in the WordPress root, or if it exists in the root and wp-settings.php * doesn't, load wp-config.php. The secondary check for wp-settings.php has the added benefit * of avoiding cases where the current directory is a nested installation, eg / is WordPress(a) * and /blog/ is WordPress(b). * * If neither set of conditions is true, initiate loading the setup process. */ if ( file_exists( ABSPATH . 'wp-config.php' ) ) { /** The config file resides in ABSPATH */ require_once ABSPATH . 'wp-config.php'; } elseif ( @file_exists( dirname( ABSPATH ) . '/wp-config.php' ) && ! @file_exists( dirname( ABSPATH ) . '/wp-settings.php' ) ) { /** The config file resides one level above ABSPATH but is not part of another installation */ require_once dirname( ABSPATH ) . '/wp-config.php'; } else { // A config file doesn't exist. // [Code here to load the setup screen for in-browser configuration] }

เราเห็นอะไรที่นี่?

wp-config.php สามารถย้ายขึ้นได้

อันดับแรก ความคิดเห็นบอกเราว่าเราสามารถใส่ wp-config.php ลงใน "WordPress root" ได้ สิ่งที่ไม่ได้กล่าวถึงคือ "ราก" สามารถเป็นไดเร็กทอรีที่ อยู่เหนือ ABSPATH ซึ่ง wp-load.php อาศัยอยู่

เราสามารถเห็นการตรวจสอบเพิ่มเติมนี้ใน elseif ที่ค้นหา dirname( ABSPATH ) . '/wp-config.php' dirname( ABSPATH ) . '/wp-config.php' . เงื่อนไขเพิ่มเติมใน elseif ได้อธิบายไว้ในความคิดเห็น

หน้าจอการตั้งค่าจะโหลดขึ้นหากไม่มีไฟล์ wp-config.php

ประการที่สอง เราจะเห็นว่าหากไม่มีไฟล์ปรับแต่ง มันจะโหลดหน้าจอการตั้งค่า

เป็นไปได้ทั้งหมดที่คุณไม่เคยเห็นหน้าจอนี้มาก่อน ช่วยให้คุณป้อนข้อมูลการกำหนดค่าเริ่มต้น เช่น ข้อมูลประจำตัวของฐานข้อมูล ในส่วนต่อประสานผู้ใช้บนเว็บ:

หน้าจอการตั้งค่า WordPress ที่ไม่ค่อยได้เห็น WordPress โหลดสิ่งนี้หากไม่พบไฟล์ปรับแต่ง ช่วยให้คุณตั้งค่าตัวเลือกการกำหนดค่าได้ด้วยตนเอง

นี่คือคุณลักษณะของ WordPress ที่ควรรู้ หากคุณเคยวางไฟล์หลักของ WordPress ไว้บนเว็บเซิร์ฟเวอร์ที่เปิดเผยต่อสาธารณะ แต่อย่าสร้าง wp-config.php แสดงว่ามีคนอื่น (หรือน่าจะเป็นบอท) สามารถเข้ามาตั้งค่า WordPress ได้ ตาม ต้องการ และอาจประนีประนอมโฮสติ้งของคุณ

wp-config.php โหลดเร็วมาก

สิ่งที่สามที่ควรทราบคือ wp-config.php โหลดได้เร็วมากในลำดับการเริ่มต้นของ WordPress ซึ่งหมายความว่า:

  1. มีหลายสิ่งที่เราทำไม่ได้ใน wp-config.php ตัวอย่างเช่น เราไม่สามารถเพิ่ม hooks (การดำเนินการหรือตัวกรอง) ที่นี่ เนื่องจากฟังก์ชันและโครงสร้างข้อมูลสำหรับการดำเนินการนั้นยังไม่ได้โหลด และเราไม่สามารถเข้าถึงฟังก์ชันภายใน ออบเจ็กต์ และ API ของ WordPress ได้

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

อย่ายุ่งกับ wp-config.php!

สิ่งสุดท้ายที่เราเรียนรู้จากกระบวนการนี้คือพลังอันยิ่งใหญ่นี้มาพร้อมกับความรับผิดชอบที่ยิ่งใหญ่

ที่ด้านล่างของ wp-config.php มีบรรทัดเหล่านี้:

 /* Add any custom values between this line and the "stop editing" line. */ /* That's all, stop editing! Happy publishing. */ /** Absolute path to the WordPress directory. */ if ( ! defined( 'ABSPATH' ) ) { define( 'ABSPATH', __DIR__ . '/' ); } /** Sets up WordPress vars and included files. */ require_once ABSPATH . 'wp-settings.php';

มีคำแนะนำบางอย่างที่นี่ แต่บรรทัด "หยุดการแก้ไข" มีความสำคัญ หลังจากบรรทัดนี้เป็นความต่อเนื่องของลำดับการเริ่มต้นของ WordPress การเพิ่มโค้ดใหม่ผิดที่อาจทำให้โค้ดใหม่ไม่ได้รับผลกระทบใดๆ แต่เพื่อความปลอดภัย ฉันแนะนำให้ปฏิบัติตามคำแนะนำเหล่านี้ พวกเขาอยู่ที่นั่นด้วยเหตุผลที่ดี

การตรวจสอบ/ Linting ไฟล์ wp-config.php ของคุณ

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

คุณสามารถเรียกใช้ php บนบรรทัดคำสั่งด้วยตัวเลือก -l (“lint”) เพื่อตรวจสอบ wp-config.php ของคุณเพื่อหาข้อผิดพลาดทางไวยากรณ์ PHP ที่ร้ายแรง

$ php -l wp-config.php

ข้อผิดพลาดในการแยกวิเคราะห์: ข้อผิดพลาดทางไวยากรณ์ โทเค็นที่ไม่คาดคิด "require_once" ใน wp-config.php ในบรรทัดที่ 9

ข้อผิดพลาดในการแยกวิเคราะห์ wp-config.php

คุณยังสามารถเขียนเชลล์สคริปต์เพื่อ...

  1. คัดลอก wp-config.php ไปยังไฟล์ชั่วคราว
  2. แก้ไขไฟล์ชั่วคราว
  3. Lint ไฟล์ชั่วคราวและ
  4. คัดลอกกลับก็ต่อเมื่อไม่มีข้อผิดพลาดทางไวยากรณ์

หากคุณพอใจกับบรรทัดคำสั่ง การใช้คำสั่ง WP-CLI เช่น wp config set <name> <value> จะปลอดภัยกว่าเพื่อตั้งค่าอย่างปลอดภัยแทนที่จะทำเอง

คุณสามารถแสดงรายการค่า config ของคุณด้วย WP-CLI ได้เช่นกัน (นี่คือตัวอย่างที่มีการลบบางรายการ – คุณได้รับแนวคิดแล้ว!):

$ wp รายการกำหนดค่า
+--------------------------------------------------------------------------- -------------------------------+
| ชื่อ | ค่า | พิมพ์ |
+--------------------------------------------------------------------------- -------------------------------+
| root_dir | /Users/smithers/sites/snpp | ตัวแปร |
| webroot_dir | /Users/smithers/sites/snpp/public | ตัวแปร |
| table_prefix | wp_ | ตัวแปร |
| WP_HOME | https://snpp.test | ค่าคงที่ |
| WP_SITEURL | https://snpp.test/ | ค่าคงที่ |
| DB_NAME | snpp | ค่าคงที่ |
| DB_USER | ราก | ค่าคงที่ |
| DB_PASSWORD | มอนต์โกเมอรี่ | ค่าคงที่ |
| DB_HOST | 127.0.0.1 | ค่าคงที่ |
| DB_CHARSET | utf8mb4 | ค่าคงที่ |
| DB_COLLATE | | ค่าคงที่ |
| DB_PREFIX | wp_ | ค่าคงที่ |
| WP_DEBUG | 1 | ค่าคงที่ |
| WP_DEBUG_LOG | 1 | ค่าคงที่ |
| WP_DEBUG_DISPLAY | | ค่าคงที่ |
| WP_ENVIRONMENT_TYPE | การพัฒนา | ค่าคงที่ |
| DISABLE_WP_CRON | | ค่าคงที่ |
| DISALLOW_FILE_EDIT | 1 | ค่าคงที่ |
+--------------------------------------------------------------------------- -------------------------------+

เทคนิคทั้งสองนี้ช่วยให้คุณไม่ต้องยุ่งยากและหยุดคุณจากการที่คุณใส่เครื่องหมายอัฒภาคผิดที่ในไฟล์สำคัญๆ

การรักษาความปลอดภัย WordPress ด้วย wp-config.php

ความปลอดภัยเป็นหัวข้อยอดนิยมตลอดกาลใน WordPress การตั้งค่าบางอย่างที่เราสามารถเปลี่ยนแปลงได้ใน wp-config ได้ใส่เครื่องมือเพิ่มเติมลงในกล่องเครื่องมือรักษาความปลอดภัยของเรา

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

การปกป้อง wp-config.php จากผู้เยี่ยมชมเว็บไซต์

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

บริษัทโฮสติ้งของคุณมักจะทำสิ่งนี้ให้คุณ คุณสามารถตรวจสอบได้โดยพยายามเข้าถึงไฟล์จากเบราว์เซอร์ของคุณโดยเพิ่ม /wp-config.php ต่อจากโดเมนของคุณ URL นี้อาจแตกต่างออกไปหากคุณได้ย้ายไฟล์

หากคุณได้วาง wp-config ไว้ในไดเร็กทอรีเหนือไดเร็กทอรีรากของเว็บไซต์ของคุณ คุณไม่ควรมองเห็นไฟล์ดังกล่าว ในกรณีอื่นๆ ส่วนใหญ่ คุณจะได้รับข้อความแสดงข้อผิดพลาด PHP เมื่อพยายามเข้าชมไฟล์ ดังนั้นจึงไม่มีอะไรต้องทำที่นี่ แต่ถ้าคุณต้องการรักษาความปลอดภัยอย่างถูกต้อง คุณสามารถทำได้โดยแก้ไขการกำหนดค่าเว็บเซิร์ฟเวอร์ (Apache หรือ nginx) เพื่อบล็อกการเข้าถึง

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

แป้นหมุน/เกลือ

กุญแจ/เกลือคืออะไร?

ส่วนคีย์และเกลือเป็นส่วนที่ลึกลับอย่างหนึ่งของ wp-config ชุดค่าคงที่ที่ดูแปลก ๆ นี้ช่วยในการเข้ารหัสของสิ่งต่าง ๆ เช่นคุกกี้และ nonnce โดยไม่ต้องลงรายละเอียด—อย่างที่ WP Engine มี—มันเพิ่มเลเยอร์พิเศษของการสุ่มที่ทำให้การถอดรหัสยากขึ้นหากคุณไม่รู้จักเกลือและกุญแจ

ทำไมต้อง "หมุน" คีย์/เกลือ?

ก่อนอื่น "หมุน" เป็นเพียงคำแฟนซีสำหรับ "การเปลี่ยนแปลง" ฉันไม่รู้ว่าทำไมเราใช้ "หมุน" ไม่ใช่ว่าเราเคยกลับมาใช้กุญแจชุดเดิม!

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

ปัญหาเกี่ยวกับการหมุนกุญแจ/เกลือ

การเปลี่ยนกุญแจและเกลือไม่ใช่เรื่องยาก ใครมีชุดคุกกี้จะเสีย ดังนั้นทุกคนที่เข้าสู่ระบบจะถูกบูทออก และใครก็ตามที่มีรถเข็น WooCommerce จะถูกล้างข้อมูล

วิธีหมุนแป้น/เกลือ

ฉันหมายความว่า คุณ สามารถ แก้ไข wp-config และเพียงพิมพ์อักขระสุ่มใหม่ทับตัวเก่า แต่นี่คงเป็นเรื่องที่น่าเบื่อหน่ายและมนุษย์ก็ไม่ค่อยเก่งเรื่องสุ่ม

ให้ฉันบอกคุณเกี่ยวกับสองสามวิธีในการตั้งค่าคีย์/เกลือใหม่ใน wp-config ของคุณ

  1. เพิ่มคีย์จากตัวสร้างด้วยตนเอง: คุณสามารถใช้ตัวสร้าง wordpress.org เพื่อรับรหัสที่คุณต้องการ เพียงคัดลอกและวางลงใน wp-config แทนค่าเก่า
  2. ใช้ปลั๊กอิน: ปลั๊กอินความปลอดภัยจำนวนมาก เช่น Sucuri Security, iThemes Security และ Malcare ล้วนมีคุณสมบัตินี้ และ Salt Shaker เป็นปลั๊กอินเฉพาะที่จะทำให้กระบวนการนี้เป็นไปโดยอัตโนมัติตามกำหนดเวลาสำหรับคุณ
  3. ใช้ WP-CLI เราได้กล่าวว่า WP-CLI นั้นยอดเยี่ยมเพียงใด? เราทำ? ตกลง. เอ้า พูดอีกทีซิ! และคุณสามารถใช้คำสั่ง wp config shuffle-salts เพื่อทำงานนี้ได้ภายในไม่กี่วินาที

ขนย้ายและซ่อนสิ่งของ

เจ้าหน้าที่รักษาความปลอดภัยจะบอกคุณว่า “ความปลอดภัยจากความมืดมน” นั้นไม่ใช่การรักษาความปลอดภัยเลย แต่บางคนก็ยังต้องการซ่อนเนื้อหาใน WordPress เพื่อสร้างอุปสรรคเพิ่มเติมให้กับแฮกเกอร์

wp-config มีตัวเลือกมากมายสำหรับการทำเช่นนี้ และเราจะกล่าวถึงสิ่งเหล่านี้ในหัวข้อถัดไปเกี่ยวกับการย้ายสิ่งต่าง ๆ และการปิดการแก้ไขไฟล์

ปิดการใช้งานตัวแก้ไขไฟล์

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

ตอนนี้ฉันรู้แล้วว่ามีข้อโต้แย้งด้านความปลอดภัยว่าหากมีผู้มีสิทธิ์เข้าถึงไซต์ของคุณของผู้ดูแลระบบ ซึ่งจำเป็นต่อการใช้โปรแกรมแก้ไขเหล่านี้ พวกเขาสามารถอัปโหลดปลั๊กอินและทำทุกอย่างที่ต้องการได้ การเปิดใช้งานตัวแก้ไขเหล่านี้ไม่ได้ให้พลังแก่แฮกเกอร์มากกว่าที่พวกเขามีอยู่แล้ว

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

โฮสต์จำนวนมากจะปิดใช้งานคุณลักษณะนี้โดยค่าเริ่มต้น แต่ถ้าคุณต้องการทำให้มันหายไป ก็ทำได้ง่ายๆ เพียงเพิ่ม:

 define( 'DISALLOW_FILE_EDIT', true );

หรือถ้าคุณต้องการล็อกระบบไฟล์ของคุณจริงๆ มี DISALLOW_FILE_MODS ซึ่งเราจะกล่าวถึงในหัวข้อถัดไป

ปิดใช้งานการอัปเดตอัตโนมัติ

ไม่ว่าคุณจะรักหรือเกลียดพวกเขา การอัปเดตอัตโนมัติของ WordPress มีผลกระทบเชิงบวกต่อระบบนิเวศของ WordPress และยากที่จะมองข้าม แต่ไม่ใช่ทุกคนที่ต้องการให้ซอฟต์แวร์ดูแลตัวเอง!

ดังนั้น wp-config ให้คุณควบคุมกระบวนการอัพเดตอัตโนมัติด้วยชุดค่าคงที่อธิบายตนเองแบบง่ายๆ ที่คุณสามารถตั้งค่าได้:

 # Disable all core updates: define( 'WP_AUTO_UPDATE_CORE', false ); # Enable all core updates, including minor and major: define( 'WP_AUTO_UPDATE_CORE', true ); # Enable core updates for minor releases (default): define( 'WP_AUTO_UPDATE_CORE', 'minor' );

หากคุณต้องการอะไรที่เหนือชั้นกว่านี้ คุณสามารถ DISALLOW_FILE_MODS :

 define( 'DISALLOW_FILE_MODS', true );

แต่สิ่งนี้จะหยุด WordPress เขียน อะไรก็ได้ ที่เกี่ยวข้องกับแกนหลัก ธีม ปลั๊กอิน หรือการแปล และจะปิดการแจ้งเตือนทางอีเมลเกี่ยวกับการอัปเดตเล็กน้อย ได้รับการอธิบายโดยผู้สนับสนุนหลักว่า "โง่เขลาที่จะใช้เว้นแต่คุณจะรู้ ว่า คุณกำลังทำอะไรอยู่"

สุดขั้วเล็กน้อยคือ AUTOMATIC_UPDATER_DISABLED วิธีนี้ช่วยให้คุณติดตั้งปลั๊กอินและธีมได้ แต่จะไม่อัปเดตหรือซอฟต์แวร์หลัก นอกจากนี้ยังปิดใช้งานการอัปเดตการแปลด้วย

 define( 'AUTOMATIC_UPDATER_DISABLED', true );

มีคำแนะนำโดยละเอียดเกี่ยวกับเรื่องนี้ใน wordpress.org รวมถึงตัวเลือกอื่นๆ เช่น การใช้ตัวกรองเพื่อการควบคุมที่ละเอียดยิ่งขึ้น

สุดท้ายนี้ ฉันทราบว่าหากไซต์ของคุณมีการควบคุมเวอร์ชัน มีความเป็นไปได้ที่ WordPress จะปิดการอัปเดตสำหรับคุณ ตัวอย่างเช่น การมีอยู่ของไดเร็กทอรี .git ในรูทของไซต์ (หรือไฟล์อื่นๆ ในสถานที่ต่างๆ) จะปิดใช้งานการอัปเดตอัตโนมัติโดยที่คุณไม่ต้องเพิ่มอะไรลงใน wp-config

การกำหนดค่า HTTPS

การกำหนดค่า HTTPS มักเป็นเรื่องที่ท้าทาย ด้วยการถือกำเนิดของใบรับรองความปลอดภัยที่เชื่อถือได้ฟรีจากสถานที่ต่างๆ เช่น LetsEncrypt และ Cloudflare โฮสต์จำนวนมากจะตั้งค่านี้ให้คุณด้วยการคลิกเพียงไม่กี่ครั้ง การตั้งค่านี้น่าจะถือเป็นมรดก แต่บางทีคุณยังต้องการมันสำหรับบางสิ่งบางอย่าง

ค่าคงที่ของ FORCE_SSL_ADMIN จะบอก ให้ WordPress ใช้ SSL สำหรับหน้าเข้าสู่ระบบและ WordPress Dashboard เสมอ สิ่งนี้ทำให้มั่นใจได้ว่าข้อมูลประจำตัวและคุกกี้ที่ปลอดภัยไม่สามารถส่งโดยไม่ได้เข้ารหัส

แต่อย่างที่ฉันพูดไป บริษัทโฮสติ้งที่ดีจะทำให้การตั้งค่า HTTPS บนไซต์ของคุณเป็นเรื่องง่าย งั้นก็ทำซะ

การป้องกันการร้องขอ HTTP ภายนอก

สุดท้ายในการรักษาความปลอดภัย คุณสามารถบล็อกคำขอ HTTP ภายนอกได้ ซึ่งหมายความว่า WordPress ไม่สามารถติดต่อกับสถานที่อื่นบนอินเทอร์เน็ตเพื่อทำสิ่งต่างๆ เช่น เรียกใช้ API หรือดาวน์โหลดการอัปเดต

โดยทั่วไป การอนุญาตให้ WordPress ติดต่อบริการภายนอกผ่าน HTTP นั้นเป็นความคิดที่ดี เพราะจะช่วยให้คุณได้รับการอัปเดต ติดตั้งปลั๊กอินและธีม และปลั๊กอินจำนวนมากจะหยุดทำงานหากคุณปิดคำขอ HTTP

แต่แกนหลักของ WordPress และปลั๊กอินและธีมจำนวนมากส่ง "ข้อมูลทางไกล" หรือ "ข้อมูลการใช้งาน" กลับไปยังเซิร์ฟเวอร์ส่วนกลาง นี่เป็นสิ่งที่ดี - ช่วยให้นักพัฒนาปลั๊กอินและธีมรู้ว่าใครกำลังใช้ซอฟต์แวร์ของตนและอย่างไร แต่ถ้าคุณมีไซต์ที่มีข้อมูลที่ละเอียดอ่อนเป็นพิเศษ คุณอาจต้องการปิดใช้งานสิ่งนี้ และคุณสามารถทำได้ด้วย:

 define( 'WP_HTTP_BLOCK_EXTERNAL', true );

หากคุณต้องการให้มีรายชื่อโฮสต์ที่อนุญาตให้ติดต่อได้ คุณก็สามารถทำได้เช่นกัน:

 define( 'WP_ACCESSIBLE_HOSTS', 'api.wordpress.org,*.github.com' );

โปรดทราบว่ารายการโฮสต์ที่เข้าถึงได้นั้นเป็นรายการที่คั่นด้วยเครื่องหมายจุลภาค และอนุญาตให้ใช้โดเมนย่อยแบบไวด์การ์ด และคุณสามารถตรวจสอบว่ามีการติดต่อโฮสต์ใดบ้างโดยใช้ปลั๊กอิน Log HTTP Requests

ขนย้ายสิ่งของ

การติดตั้ง WordPress แต่ละครั้งไม่เหมือนกัน โฮสต์หรือเฟรมเวิร์กบางตัวต้องการย้ายไดเร็กทอรีไปรอบๆ ด้วยเหตุผลด้านความปลอดภัย หรือเพื่อแยกโค้ดและทรัพย์สินเฉพาะไซต์ออกจากแกนหลักของ WordPress บทความของฉันเกี่ยวกับการใช้ Git และ Composer เพื่อจัดการ WordPress ครอบคลุมถึงประโยชน์บางประการของแนวทางนี้

ดังนั้น WordPress ให้ตัวเลือกอะไรแก่คุณ – เพื่อต้องการคำที่ดีกว่า – “การย้ายสิ่งของ”?

การเปลี่ยนคำนำหน้าฐานข้อมูล

WordPress ใช้คำนำหน้าชื่อตารางฐานข้อมูล wp_ เป็นค่าเริ่มต้น คำนำหน้านี้ถูกเพิ่มลงในชื่อตารางฐานข้อมูลทั้งหมดและใช้ในที่อื่นๆ เช่น ตัวเลือก <prefix>user_roles ในตารางตัวเลือก และรายการเมตาผู้ใช้ <prefix>capabilities

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

ตัวเลือก wp_config $table_prefix ให้คุณทำสิ่งนี้ได้ และคุณควรตั้งค่าให้เป็นสตริงที่สั้นแต่สุ่ม โดยมีเครื่องหมายขีดล่างต่อท้าย:

 $table_prefix = 'b4F8az_';

สิ่งนี้จะบอก WordPress ให้ใช้ชื่อตารางเช่น b4F8az_posts แทน wp_posts

คุณไม่จำเป็นต้องอัปเดตโค้ดใดๆ เพื่อรองรับการเปลี่ยนแปลงนี้ (เว้นแต่ว่าโค้ด นั้น จะเขียนได้ไม่ดีนัก) แต่หากคุณกำลังเปลี่ยนแปลงสิ่งนี้ในไซต์ที่มีอยู่ คุณจะต้องอัปเดตฐานข้อมูลของคุณ ไม่ใช่แค่การเปลี่ยนชื่อ โต๊ะ!

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

ข้อสังเกตที่น่าสงสัยคือ $table_prefix เป็นตัวแปร ไม่ใช่ค่าคงที่ มันเป็นตัวแปรเดียวที่กำหนดไว้ในไฟล์ปรับแต่งตัวอย่างที่ WordPress มอบให้คุณ! และถ้าคุณยังสงสัย: ใช่ คำสั่ง wp config ของ WP-CLI จะดูแลสิ่งนี้ให้คุณโดยที่คุณไม่ต้องรู้ด้วยซ้ำ!

การย้าย User และ Usermeta Tables

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

ฉันเดาว่ามันช่วยป้องกันการโจมตีด้วยการฉีด SQL ที่พยายาม "SELECT * FROM wp_usermeta;" แต่ฉันยินดีที่จะรับฟังเหตุผลอื่นๆ ที่ต้องทำ

ไม่ว่าในกรณีใด ค่าคงที่ CUSTOM_USER_TABLE และ CUSTOM_USER_META_TABLE คือสิ่งที่คุณต้องการ:

 define( 'CUSTOM_USER_TABLE', $table_prefix.'my_users' ); define( 'CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta' );

มีข้อแม้บางประการที่ควรทราบก่อนที่คุณจะใช้ค่าคงที่เหล่านี้ ตรวจสอบเอกสารอย่างเป็นทางการก่อนใช้คุณสมบัตินี้ และเช่นเดียวกับการใช้คำนำหน้าตารางแบบกำหนดเอง วิธีนี้ทำได้ดีที่สุดเมื่อติดตั้งไซต์ใหม่ แทนที่จะแก้ไขในภายหลัง

ย้ายไดเรกทอรีเนื้อหา อัปโหลด และปลั๊กอิน

นอกจากนี้ยังสามารถย้ายไดเร็กทอรี wp-content ทั้งหมด ไดเร็กทอรี uploads ไดเร็กทอรี themes และ plugins สิ่งที่ควรทราบ:

  • ในบางกรณี คุณจำเป็นต้องตั้งค่า URL และไดเร็กทอรี
  • คุณต้องระมัดระวังในการใช้เส้นทางแบบเต็มหรือเส้นทางที่เกี่ยวข้องตามความเหมาะสม
  • การตั้งค่าเหล่านี้ไม่ควรมีเครื่องหมายทับ

ศึกษารายละเอียดในเอกสารอย่างเป็นทางการ – ฉันจะไม่ทำซ้ำทั้งหมดที่นี่

สุดท้ายนี้ โปรดทราบว่าปลั๊กอินหรือธีมที่เข้ารหัสไม่ดีอาจสร้างปัญหาได้หากคุณเปลี่ยนแปลงสิ่งเหล่านี้ สิ่งนี้ไม่ ควร เกิดขึ้น แต่ก็คุ้มค่าที่จะรู้

หากคุณเป็นผู้พัฒนาปลั๊กอินหรือธีม สิ่งสำคัญคือต้องจำไว้ว่าเส้นทางเหล่านี้สามารถเปลี่ยนแปลงได้ ดังนั้น อย่าฮาร์ดโค้ดพาธไปยังไดเร็กทอรีหรือ URL ฟังก์ชันที่มีประโยชน์สำหรับคุณที่นี่คือ:

wp_upload_dir
plugins_url
plugin_dir_url
plugin_dir_path
get_stylesheet_directory
get_stylesheet_directory_uri
get_template_directory – โปรดทราบว่าสำหรับธีมลูก จะคืนค่าตำแหน่งของธีมหลัก
get_template_directory_uri

มีรายการฟังก์ชันที่ละเอียดกว่านี้ในคู่มือนักพัฒนา WordPress

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

การตั้งค่าที่เกี่ยวข้องกับเนื้อหา

WordPress เป็นระบบจัดการเนื้อหา ดังนั้นคุณจึงคาดหวังว่าค่าคงที่บางส่วนที่คุณสามารถใช้ได้ใน wp-config.php เพื่อควบคุมตัวเลือกเนื้อหา มาดูกันว่าเราจะทำอะไรได้บ้าง

เปลี่ยน URL ของไซต์และแดชบอร์ด

สิ่งเหล่านี้ทำให้ฉันสับสนอยู่เสมอ

ในการตั้งค่า URL ของไซต์ของคุณ คุณต้องใช้ค่าคงที่ WP_HOME ไม่ใช่ค่าคงที่ WP_SITEURL

ค่าคงที่ WP_SITEURL จะไม่เปลี่ยน URL ของไซต์ของคุณ

สับสน?

คำอธิบายอย่างเป็นทางการของสิ่งที่ WP_SITEURL ทำคือ "ที่อยู่ที่ไฟล์หลักของ WordPress อยู่" สิ่งนี้ยังทำให้เกิดความสับสนเพราะเป็น URL ไม่ใช่ไดเร็กทอรี

อย่าโทษฉันสำหรับสิ่งนี้ ฉันเป็นแค่ไกด์นำเที่ยวของคุณสำหรับวันนี้!

การตั้งค่า WP_HOME และ WP_SITEURL จะแทนที่รายการ home และ siteurl ในตารางฐานข้อมูล wp_options อย่างน้อยก็มีเหตุผล

 // NOTE: These must not have trailing slashes define( 'WP_HOME', 'https://helfish.media' ); define( 'WP_SITEURL', 'https://hellfish.media/wordpress` );

คุณสามารถใช้ค่าคงที่เหล่านี้หลังจากย้ายไซต์ไปยัง URL ใหม่ เพื่อให้ไซต์เริ่มทำงานในขณะที่คุณแก้ไขฐานข้อมูลอย่างถูกต้อง คุณอาจเลือกที่จะทิ้งมันไว้ในภายหลังก็ได้

คุณสามารถใช้การตั้งค่า WP_SITEURL เมื่อคุณย้ายไฟล์ WordPress หลักของคุณไปยังไดเร็กทอรีอื่น

การใช้สิ่งเหล่านี้ยังช่วยป้องกันการเรียกใช้แบบสอบถามฐานข้อมูลหรือสองรายการเพื่อรับค่าจากตารางตัวเลือก ดังนั้นจึงอาจมีประสิทธิภาพเพิ่มขึ้นเล็กน้อย แม้ว่าคุณกำลังทำการแคชวัตถุที่ได้รับนั้นอาจจะเล็กน้อย

มีรายละเอียดเพิ่มเติมในเอกสารอย่างเป็นทางการ และแม้แต่บทความสนับสนุนฉบับสมบูรณ์เกี่ยวกับการเปลี่ยน URL ของเว็บไซต์ นอกจากนี้ บทความนี้ยังมีค่าคงที่ RELOCATE ที่คลุมเครือสำหรับ wp-config.php ซึ่งฉันไม่เคยได้ยินมาก่อนก่อนที่จะค้นคว้าบทความนี้

สุดท้ายนี้ เมื่อย้ายไซต์ โปรดทราบว่านี่ไม่ใช่สิ่งเดียวที่คุณต้องเปลี่ยน ขอแนะนำให้ค้นหาและแทนที่ฐานข้อมูลแบบเต็มสำหรับสตริง URL

การตั้งค่าโพสต์

มีการตั้งค่าต่างๆ ที่คุณสามารถแก้ไขได้เมื่อกล่าวถึงโพสต์ สิ่งเหล่านี้ส่วนใหญ่เกี่ยวข้องกับการแก้ไขหลังการแก้ไขหรือคุณสมบัติการบันทึกอัตโนมัติ

โพสต์การแก้ไข

พฤติกรรมเริ่มต้นของ WordPress คือการบันทึกการแก้ไขทั้งหมดที่ทำในบทความและหน้า ข้อดีของสิ่งนี้คือง่ายต่อการเปลี่ยนกลับเป็นเวอร์ชันก่อนหน้า ข้อเสียคือการแก้ไขทั้งหมดนั้นใช้พื้นที่ในฐานข้อมูล และสามารถส่งผลกระทบต่อประสิทธิภาพของไซต์ได้โดยการชะลอการสืบค้นฐานข้อมูล

เป็นไปได้ที่จะปิดการใช้งานการแก้ไขหลังการแก้ไขโดยการแก้ไขค่า WP_POST_REVISIONS ใน wp-config.php ของคุณ ค่าเริ่มต้นเป็นจริง หากต้องการปิดการแก้ไข คุณสามารถตั้งค่าเป็น "เท็จ" แทน:

 define( 'WP_POST_REVISIONS', false );:

โฮสต์บางแห่ง รวมถึง WP Engine ปิดใช้งานการแก้ไขโพสต์โดยค่าเริ่มต้น ฉันแนะนำให้ตรวจสอบกับผู้ให้บริการโฮสต์ของคุณก่อนทำการเปลี่ยนแปลงใดๆ สิ่งนี้แตกต่างกันไปในแต่ละโฮสต์ แต่ถ้าคุณใช้ WP Engine คุณ จะไม่สามารถ เปิดใช้งานการแก้ไขผ่าน wp-config เนื่องจากจะถูกเขียนทับที่ระดับเซิร์ฟเวอร์

หากโฮสต์ของคุณควบคุมสิ่งนี้และคุณพยายามเปลี่ยนแปลง คุณไม่จำเป็นต้องทำลายบางสิ่ง แต่คุณอาจเสียเวลา

หาก คุณกังวลเกี่ยวกับการแก้ไขโพสต์ที่ทำให้การสืบค้นฐานข้อมูลช้าลง ทางเลือกที่ดีกว่าอาจเป็นการจำกัดจำนวนการแก้ไขที่ WordPress จัดเก็บไว้ สิ่งนี้ถูกควบคุมโดยค่าคงที่ WP_POST_REVISIONS ซึ่งคุณสามารถตั้งค่าเป็นจำนวนการแก้ไขสูงสุดที่คุณต้องการเก็บไว้:

 define( 'WP_POST_REVISIONS', 5 );

การเปลี่ยนช่วงเวลาบันทึกอัตโนมัติ

คุณยังสามารถลดความถี่ที่การบันทึกอัตโนมัติดับลงได้ ค่าเริ่มต้นนี้เป็นทุกๆ 60 วินาที แต่คุณสามารถเปลี่ยนเป็นสิ่งที่คุณต้องการได้ หากคุณเป็นคนหวาดระแวง คุณอาจต้องการตั้งค่านี้เป็น 20 หรือ 30 วินาทีแทน

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

 define( 'AUTOSAVE_INTERVAL', 120 ); // Seconds

ห่อ

มีศักยภาพมากมายใน wp-config ที่กำลังรอการปลดล็อก ฉันหวังว่าการทัวร์ครั้งนี้จะช่วยเน้นย้ำถึงบางสิ่งที่เป็นไปได้ ในบทความต่อๆ ไป ฉันจะพิจารณาความสามารถขั้นสูงเพิ่มเติมที่มีอยู่ใน wp-config รวมถึงการติดตั้งหลายไซต์และการดีบัก ฉันจะพิจารณาประสิทธิภาพด้วย รวมถึงวิธีปรับขีดจำกัดหน่วยความจำ ปัญหา CRON และประเภทสภาพแวดล้อม

ไม่ต้องสงสัยเลยว่ามีขุมทรัพย์อื่นๆ ที่ซ่อนอยู่ในเอกสารอย่างเป็นทางการซึ่งรอการค้นพบอยู่ คุณพบเคล็ดลับอะไรบ้างในการใช้ wp-config ? แจ้งให้เราทราบในความคิดเห็น