ในบทความนี้ เราจะพูดถึงประเภทของการแฮ็ก WordPress ที่พบบ่อยที่สุด วิธีระบุปัญหาเหล่านั้น และวิธีการต่างๆ ในการแก้ไข หากคุณพบปัญหาดังกล่าว เราขอแนะนำอย่างยิ่งให้ติดต่อผู้พัฒนาเว็บไซต์มืออาชีพเพื่อขอความช่วยเหลือเพิ่มเติม สำหรับคำแนะนำเพิ่มเติมเกี่ยวกับการเพิ่มความปลอดภัยให้กับบัญชีโฮสติ้งของคุณ โปรดดูที่ คู่มือนี้.
สำคัญ: ก่อนทำการเปลี่ยนแปลงใดๆ ให้สร้างข้อมูลสำรองเว็บไซต์ของคุณแบบเต็มก่อน
โปรดทราบ: เพื่อลดความเสี่ยงจากการแฮ็ก WordPress ในอนาคต ให้ สแกนบัญชีโฮสติ้งของคุณ ด้วยเครื่องมือแอนตี้ไวรัสเป็นประจำ ลบไฟล์ที่เป็นอันตรายหรือไฟล์ต้องสงสัย และอัปเดตปลั๊กอินและธีมของเว็บไซต์ให้เป็นเวอร์ชันล่าสุดเสมอ
แม้จะมีปัญหาหลายอย่างที่อาจทำให้ไฟล์เริ่มต้นหายไปหรือถูกเปลี่ยนแปลง แต่สาเหตุที่พบบ่อยที่สุดคือมัลแวร์ที่ถูกฝังใน WordPress ของคุณ โชคดีที่เครื่องมือแอนตี้ไวรัสบนเซิร์ฟเวอร์เว็บและโฮสติ้งของเราสามารถตรวจจับและกักกันไฟล์ที่ถูกบุกรุกโดยอัตโนมัติ
หากไฟล์หลักของ WordPress ของคุณติดไวรัส คุณอาจพบอาการดังต่อไปนี้:
หน้าเปล่า;
ข้อผิดพลาด 500 Internal Server Error;
ข้อผิดพลาด “เว็บไซต์นี้กำลังประสบปัญหาทางเทคนิค” (เริ่มใช้ใน WordPress 5.2.2);
หรือข้อผิดพลาดอื่นๆ ที่คล้ายกัน
เพื่อแก้ไขปัญหานี้ เพียงทำตามขั้นตอนด้านล่าง
เพื่อระบุสาเหตุของปัญหาในเว็บไซต์ของคุณ ให้ตรวจสอบไฟล์ error_log ไฟล์นี้จะบันทึกข้อผิดพลาดสำคัญที่เว็บไซต์ของคุณพบ
คุณสามารถหาไฟล์นี้ได้ในบัญชี cPanel ของคุณ > เมนู “File Manager” > โฟลเดอร์รากของการติดตั้ง WordPress ของคุณ
เมื่อคุณเข้าสู่โฟลเดอร์รากของโดเมนแล้ว ให้ค้นหาไฟล์ error_log หากมีไฟล์นี้ ให้ทำตามขั้นตอนต่อไปนี้:
คลิกขวาที่ไฟล์ จากนั้นเลือก ดู:

ภายใน log คุณอาจเห็นข้อผิดพลาดเช่น: “No such file or directory in…” ตามด้วยเส้นทางของไฟล์ที่หายไป ซึ่งแสดงว่าไฟล์ที่จำเป็นขาดหายไปและทำให้เว็บไซต์ไม่สามารถทำงานได้อย่างถูกต้อง
ตัวอย่างเช่น:/home/cPuser/public_html/wp-settings.php

เพื่อกู้คืนไฟล์ที่หายไป ให้เลื่อนลงไปที่ส่วน "วิธีแทนที่ไฟล์ที่หายไป" ของคู่มือนี้
หากไม่มีไฟล์ error_log ในโฟลเดอร์รากของเว็บไซต์ คุณสามารถเปิดใช้งานตัวเลือก display_errors ของ PHP ในบัญชี cPanel ของคุณ การตั้งค่านี้จะทำให้ข้อความแสดงข้อผิดพลาดปรากฏบนเว็บไซต์โดยตรง ทำให้ระบุปัญหาได้ง่ายขึ้น
สำคัญ: เพื่อความปลอดภัย อย่าลืมปิดใช้งาน display_errors เมื่อเสร็จสิ้นการแก้ไขปัญหา
คุณสามารถเปิดใช้งานตัวเลือก PHP ได้ด้วยวิธีต่อไปนี้:
ผ่าน php.ini
นอกจากเมนู “PHP Tweaks” ใน cPanel แล้ว คุณยังสามารถปรับแต่งการตั้งค่าบางอย่างของเว็บไซต์ได้โดยตรงผ่านไฟล์ php.ini โดยเพิ่มหรือแก้ไขบรรทัดที่เกี่ยวข้องในไฟล์ดังกล่าว
เพื่อเปิดใช้งานตัวเลือก display_errors คุณต้องเพิ่มบรรทัดต่อไปนี้ลงในไฟล์: display_errors=1
คุณสามารถสร้างไฟล์ php.ini ใหม่ในโฟลเดอร์รากของเว็บไซต์แล้วเพิ่มบรรทัดนี้ หรือแก้ไขไฟล์ที่ระบบสร้างขึ้นโดยทำตามขั้นตอนด้านล่าง
เข้าสู่ระบบบัญชี cPanel ของคุณและไปที่เมนู “File Manager”
ตรวจสอบให้แน่ใจว่าได้เปิดใช้งานตัวเลือก “Show Hidden Files (dotfiles)” ในการตั้งค่า:

ไปที่ไดเรกทอรีต่อไปนี้: /home/cPanel_user/.system-php/ini

เลือกเวอร์ชัน PHP ที่กำหนดให้กับโดเมนของคุณ แล้วเลือกไดเรกทอรีของโดเมน ตัวอย่างเช่น เส้นทางเต็มอาจเป็น:
/home/cPanel_user/.system-php/ini/7.0/testwebsite.com
คลิกขวาที่ไฟล์ php.ini แล้วเลือก แก้ไข.
เพิ่มบรรทัดต่อไปนี้ลงในไฟล์: display_errors=1
ผ่าน .htaccess
เพื่อเปิดใช้งานตัวเลือก display_errors ของ PHP ผ่านไฟล์ .htaccess คุณต้องแก้ไขไฟล์ในโฟลเดอร์รากของเว็บไซต์ใน “File Manager” และเพิ่มบรรทัดต่อไปนี้:php_value display_errors 1
ขั้นตอนโดยละเอียดในการค้นหาไฟล์ .htaccess สามารถดูได้ใน บทความนี้
หลังจากทำการเปลี่ยนแปลงแล้ว ให้คลิก บันทึก.
WordPress ใช้โครงสร้างไฟล์ที่เรียบง่ายและเป็นระเบียบ ซึ่งทำให้การกู้คืนไฟล์ที่หายไปหรือเสียหายทำได้ค่อนข้างง่าย ขอแนะนำให้แทนที่ไฟล์หลักทั้งหมด เพราะจะช่วยให้ไฟล์ที่ถูกมัลแวร์บุกรุกได้รับการกู้คืนอย่างสมบูรณ์ อย่างไรก็ตาม ควรดำเนินการด้วยความระมัดระวัง: การแทนที่ไฟล์หรือโฟลเดอร์บางไฟล์อาจทำให้ข้อมูลสูญหายหากทำไม่ถูกต้อง
ทำตามขั้นตอนด้านล่างเพื่อแทนที่ไฟล์ WordPress ที่หายไป:
เข้าสู่ระบบ cPanel ของคุณและไปที่ Softaculous Apps Installer.
สร้างการติดตั้ง WordPress ใหม่ในไดเรกทอรีย่อยชั่วคราว ในการทำเช่นนี้ ให้คลิกที่ไอคอน WordPress แล้วเลือก ติดตั้ง:

คุณจะถูกเปลี่ยนเส้นทางไปยังหน้าตั้งค่าการติดตั้ง ที่นั่นให้เลือกชื่อโดเมนที่ต้องการจากเมนูแบบเลื่อนลง และกรอกชื่อโฟลเดอร์ย่อยในช่อง In Directory
ในตัวอย่างนี้ เราใช้โฟลเดอร์ย่อย ” fix” สำหรับการติดตั้ง WordPress:

หมายเหตุ: การแทนที่ไฟล์เริ่มต้นทั้งหมดจะอัปเดตการติดตั้งปัจจุบันของคุณเป็นเวอร์ชันเดียวกับที่ใช้ใน “fix” และการผสมไฟล์จากเวอร์ชันต่างกันอาจทำให้เกิดปัญหากับระบบและทำให้เว็บไซต์ทำงานผิดปกติ
หากคุณต้องการคงเวอร์ชัน WordPress ปัจจุบันไว้ หรือวางแผนจะแทนที่เฉพาะไฟล์บางไฟล์ ให้ตรวจสอบเวอร์ชันของเว็บไซต์ในไฟล์ /wp-includes/version.php และตรวจสอบให้แน่ใจว่าการติดตั้งใหม่ใช้ เวอร์ชันเดียวกัน ของ WordPress:

คุณสามารถเลือกเวอร์ชัน WordPress สำหรับการติดตั้งใหม่ได้โดยตรงในหน้าต่างติดตั้ง:

เมื่อกำหนดค่าทุกอย่างเสร็จแล้ว ให้คลิก ติดตั้งด่วน หรือเลื่อนลงไปด้านล่างของหน้าติดตั้งแล้วคลิก ติดตั้ง
หลังจากติดตั้ง WordPress ใหม่เสร็จแล้ว ไฟล์จะปรากฏใน “File Manager” > โฟลเดอร์รากของโดเมนของคุณ ให้เปิดโฟลเดอร์โดยดับเบิลคลิก:

หากต้องการแทนที่ไฟล์ที่หายไปเฉพาะเจาะจง (เช่น wp-settings.php) ให้ค้นหาไฟล์นั้นในไดเรกทอรีของการติดตั้งใหม่
หลังจากนั้น ย้ายไฟล์ไปยังโฟลเดอร์รากของเว็บไซต์ปัจจุบันของคุณโดยคลิกขวาที่ไฟล์ > คลิกที่ ย้าย > กรอกเส้นทางไปยังโฟลเดอร์รากของเว็บไซต์ > คลิก ย้ายไฟล์:

เมื่อเสร็จสิ้น ไฟล์ที่หายไปจะได้รับการกู้คืน และเว็บไซต์ของคุณควรโหลดได้ตามปกติ
ในกระบวนการแทนที่ไฟล์ WordPress เริ่มต้นทั้งหมดสำหรับเว็บไซต์ ขั้นตอนที่ 1-6 จะเหมือนกับในส่วน “วิธีแทนที่ไฟล์ WordPress ที่หายไป”
หลังจากทำขั้นตอนเหล่านี้เสร็จและสร้างการติดตั้ง WordPress ใหม่แล้ว หากต้องการแทนที่ไฟล์เริ่มต้นทั้งหมดในโฟลเดอร์รากของเว็บไซต์ของคุณ โปรดทำตามขั้นตอนเหล่านี้:
เปิดโฟลเดอร์รากของการติดตั้ง WordPress ใหม่:

ภายในโฟลเดอร์การติดตั้งใหม่ ให้ลบไฟล์และโฟลเดอร์ดังต่อไปนี้:

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

ไฟล์หลักของ WordPress ของคุณได้รับการแทนที่ทั้งหมดแล้ว เข้าเว็บไซต์ของคุณเพื่อตรวจสอบว่าทุกอย่างโหลดได้ถูกต้อง
หากเว็บไซต์ยังคงแสดงข้อผิดพลาด ให้ตรวจสอบ error_log อีกครั้ง ในกรณีส่วนใหญ่ ปัญหาเพิ่มเติมเกิดจากไฟล์ธีมหรือปลั๊กอินที่หายไป
ไฟล์ธีมหรือปลั๊กอินที่หายไปอาจเกิดได้จากหลายสาเหตุ แต่สาเหตุที่พบบ่อยที่สุดคือมัลแวร์ที่ติดและลบส่วนประกอบสำคัญของการติดตั้ง WordPress ของคุณ
หากไฟล์ปลั๊กอินหรือธีมของ WordPress ของคุณหายไป คุณอาจพบ:
หน้าเปล่า;
ข้อผิดพลาด 500 Internal Server Error;
ข้อผิดพลาด “เว็บไซต์นี้กำลังประสบปัญหาทางเทคนิค” (เริ่มใช้ใน WordPress 5.2.2);
หน้าโหลดไม่สมบูรณ์หรือแสดงผลผิดปกติ
สำหรับความช่วยเหลือในการวินิจฉัยปัญหา โปรดดูส่วนต่อไปนี้ของบทความนี้: ตรวจสอบไฟล์ error_log ของเว็บไซต์ของคุณ และ เปิดใช้งานตัวเลือก display_errors ของ PHP.
คุณอาจเห็นข้อความแสดงข้อผิดพลาดที่คล้ายกับตัวอย่างต่อไปนี้ใน error_log หรือบนเว็บไซต์โดยตรง:
PHP Fatal error: Uncaught Error: Call to undefined function sample_function() in /home/cPaneluser/...
ด้านล่างนี้คือตัวอย่างข้อผิดพลาดที่เกิดจากไฟล์ปลั๊กอินที่เสียหายหรือหายไป:

เพื่อกู้คืนไฟล์ที่หายไป เพียงติดตั้งธีมหรือปลั๊กอินที่ได้รับผลกระทบใหม่อีกครั้ง
หมายเหตุ: ไฟล์ functions.php ที่หายในธีมมักเกี่ยวข้องกับมัลแวร์ wp-vcd.php ซึ่งโดยปกติจะอยู่ในไดเรกทอรี /wp-includes ก่อนติดตั้งธีมใหม่ ให้ลบ wp-vcd.php หากมี หรือหากต้องการความปลอดภัยสูงสุด ให้แทนที่ไฟล์ WordPress เริ่มต้นทั้งหมดตามที่อธิบายไว้ ก่อนหน้านี้.
ในบางกรณี เมื่อเว็บไซต์ของคุณติดมัลแวร์ อาจเริ่มเปลี่ยนเส้นทางผู้เข้าชมไปยังหน้าที่เป็นอันตรายหรือไม่น่าไว้วางใจ ปัญหานี้มักเกิดจากปลั๊กอินหรือธีมที่ไม่ปลอดภัย ซึ่งเปิดโอกาสให้ผู้โจมตีเปลี่ยน URL ในฐานข้อมูลหรือแก้ไขไฟล์ของเว็บไซต์คุณ
หมายเหตุ: อย่าคลิกที่ลิงก์เปลี่ยนเส้นทางใดๆ เด็ดขาด เพราะอาจทำให้คอมพิวเตอร์ของคุณติดมัลแวร์ได้:

เพื่อแก้ไขการเปลี่ยนเส้นทางที่เป็นอันตราย ให้ทำตามขั้นตอนด้านล่าง:
ค้นหาไฟล์กำหนดค่าฐานข้อมูลของเว็บไซต์คุณ - wp-config.php ใน cPanel > File Manager > โฟลเดอร์รากของเว็บไซต์ เปิดไฟล์และค้นหาชื่อฐานข้อมูลของเว็บไซต์ในนั้น:

จากนั้น เปิดฐานข้อมูลที่กำหนดให้กับเว็บไซต์ของคุณในเมนู phpMyAdmin ของ cPanel โดยคลิกเข้าไป แล้วไปที่ตาราง wp_options (“wp_” เป็นคำนำหน้ามาตรฐาน ชื่อของคุณอาจแตกต่างกัน):

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

สแกนฐานข้อมูลที่เหลือของคุณเพื่อหา URL ที่เป็นอันตรายลักษณะเดียวกัน และแทนที่ให้ถูกต้อง
เปลี่ยนไฟล์ .htaccess ปัจจุบันของคุณชั่วคราวด้วยเวอร์ชันเริ่มต้นที่สะอาดที่สุด แนะนำให้เปลี่ยนชื่อไฟล์เดิม (เช่น .htaccess_old) และสร้างไฟล์ใหม่ขึ้นมา
หากต้องการเปลี่ยนชื่อไฟล์ ให้ดับเบิลคลิก > เลือก เปลี่ยนชื่อ จากรายการ > กรอกชื่อไฟล์ใหม่ > แล้วกด เปลี่ยนชื่อไฟล์.
หลังจากนั้น หากต้องการสร้างไฟล์ใหม่ ให้คลิก + ไฟล์ > ตั้งชื่อว่า .htaccess > แล้วเลือก สร้างไฟล์ใหม่.
เมื่อสร้างไฟล์ .htaccess ใหม่แล้ว ให้แก้ไขโดยคลิกขวา > เลือก แก้ไข จากรายการ เมื่อหน้าต่างแก้ไขเปิดขึ้น ให้วางกฎ WordPress เริ่มต้นต่อไปนี้ลงในไฟล์:# BEGIN WordPressRewriteEngine OnRewriteBase /RewriteRule ^index\.php$ - [L]RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.php [L]# END WordPress
คลิก บันทึกการเปลี่ยนแปลง.
หากเว็บไซต์ของคุณยังคงเปลี่ยนเส้นทาง ให้ลองแทนที่ ไฟล์หลักของ WordPress ทั้งหมด.
คุณยังสามารถปิดใช้งานปลั๊กอินทั้งหมดชั่วคราวผ่านแดชบอร์ด WordPress หรือฐานข้อมูล แล้วลองเปิดทีละตัว เมื่อเปิดปลั๊กอินครบทุกตัวแล้ว ให้ตรวจสอบเว็บไซต์เพื่อดูว่าปลั๊กอินใดเป็นสาเหตุของปัญหาเปลี่ยนเส้นทางที่เป็นอันตราย