WordPress ปัจจุบันขับเคลื่อนเว็บไซต์มากกว่า 60 ล้านเว็บไซต์ ทำให้กลายเป็น CMS ยอดนิยมที่สุด ด้วยความนิยม จึงดึงดูดความสนใจทั้งดีและไม่ดี เว็บไซต์ WordPress ประสบการโจมตีแฮกประมาณ 90,000 ครั้งต่อนาที เมื่อพูดถึงความปลอดภัยเว็บไซต์ น่าเสียดายที่ไม่มี "ลูกศรเงิน" (silver bullet) ที่ให้ความปลอดภัยบนทุกแง่มุม แต่เราต้องทำหลายอย่าง นำมาตรการความปลอดภัยไปใช้ที่หลายชั้น เพื่อให้เว็บไซต์ปลอดภัยจากแฮกเกอร์ กระบวนการเพิ่มชั้นป้องกันต่าง ๆ นี้เรียกว่า "การป้องกันแบบหลายชั้น" (layered defence) เราเคยพูดถึงมาตรการป้องกันอย่าง การยืนยันตัวตน HTTP, การยืนยันตัวตนสองปัจจัย, การใช้ชื่อผู้ใช้และรหัสผ่านที่แข็งแกร่ง วันนี้เราจะเรียนรู้วิธีป้องกันอีกวิธีหนึ่ง คือการจำกัดการเข้าถึงไดเรกทอรีผู้ดูแล WordPress
ไดเรกทอรีผู้ดูแล WordPress (wp-admin) เป็นที่ตั้งของไฟล์ lõi WordPress ไฟล์ในที่นี่ช่วยให้ผู้ใช้อย่างคุณสามารถดำเนินฟังก์ชันการบริหารต่าง ๆ ได้ ตัวอย่างเช่น เมื่อคุณพยายามล็อกอินเข้าสู่แดชบอร์ด WordPress จะตรวจสอบว่าข้อมูลประจำตัวที่คุณให้มาถูกต้องหรือไม่ หรือว่าคุณเป็นผู้ดูแลระบบหรือผู้มีส่วนร่วมทั่วไปที่มีการเข้าถึงจำกัด ไฟล์ในโฟลเดอร์ wp-admin ช่วยให้ WordPress ดำเนินฟังก์ชันเหล่านี้ได้
เมื่อแฮกเกอร์เข้าถึงเว็บไซต์ของคุณ พวกเขาอาจแก้ไขไฟล์เพื่อประโยชน์ของตนเอง พวกเขาอาจเริ่มควบคุมว่าใครได้เข้าถึงเว็บไซต์ ใครไม่ได้ มีความเป็นไปได้จริงที่พวกเขาจะบล็อกผู้ดูแลระบบและเจ้าของเว็บไซต์ คุณอาจสูญเสียการเข้าถึงเว็บไซต์ของตัวเอง ดังนั้น การป้องกันตั้งแต่เนิ่นๆ จึงเป็นเรื่องบังคับ การจำกัดการเข้าถึงไดเรกทอรีผู้ดูแล WordPress จะจำกัดแฮกเกอร์ไม่ให้接管เว็บไซต์ของคุณได้
วิธีอธิบายง่ายที่สุดเกี่ยวกับการทำงานของการจำกัดการเข้าถึงคือการใช้สื่อเปรียบเทียบ หากเว็บไซต์ของคุณเป็นบ้าน แล้วประตูของบ้านคือไดเรกทอรีผู้ดูแล WordPress ตอนนี้หากคุณวางนายเฝ้าประตู มันจะเพิ่มความปลอดภัยให้บ้าน (อ่านว่า เว็บไซต์) นายเฝ้าที่ประตูรับผิดชอบตรวจสอบ "บัตรประจำตัว" (อ่านว่า ที่อยู่ IP) ของผู้เยี่ยมชมทุกคน แล้วค่อยอนุญาตหรือปฏิเสธการเข้าถึงบ้าน (คือ เว็บไซต์) ในบทความนี้ เราจะแสดงวิธีจำกัดการเข้าถึงไดเรกทอรีผู้ดูแล WordPress โดยใช้ที่อยู่ IP ซึ่งก็คือการบล็อกเฉพาะที่อยู่ IP ที่เป็นอันตรายไม่ให้เข้าถึงไดเรกทอรีผู้ดูแลของเว็บไซต์ WordPress ของคุณ
ก่อนเริ่ม ต้องสังเกตว่าคุณต้องแน่ใจว่าที่อยู่ IP ของคุณเป็นแบบคงที่ (Static IP) หากคุณไม่แน่ใจเกี่ยวกับที่อยู่ IP เราขอแนะนำให้ค้นหาบน Google หรือปรึกษาผู้ให้บริการอินเทอร์เน็ตของคุณ
จำกัดการเข้าถึงไดเรกทอรีผู้ดูแล WordPress:
เพื่อเริ่มต้น คุณต้องดาวน์โหลดไฟล์ .htaccess จาก File Manager ก่อน ปฏิบัติตามขั้นตอนด้านล่าง:
ขั้นตอนที่ 1: เข้าสู่ระบบบัญชีโฮสต์เว็บของคุณ และไปที่หน้าที่เรียกว่า cPanel ที่นั่นคุณควรจะพบตัวเลือก File Manager เลือกมัน และหน้าจะเปิดขึ้น ซึ่งจะมีลักษณะประมาณนี้:

ขั้นตอนที่ 2: นี่คือหน้า File Manager ปกติ ด้านซ้ายมือมีโฟลเดอร์หลายโฟลเดอร์ เลือก public_html และคุณจะเห็นเมนูแบบเลื่อนลง

ขั้นตอนที่ 3: ในเมนูเลื่อนลง จะมีโฟลเดอร์ชื่อ wp-admin คุณจะพบไฟล์ .htaccess ในโฟลเดอร์นี้ คุณจะสังเกตว่าไม่เหมือนไฟล์อื่นในไดเรกทอรี .htaccess ไม่มีนามสกุลอย่าง .html หรือ .txt หรือ .php
ขั้นตอนที่ 4: เพื่อดาวน์โหลดไฟล์ .htaccess ทั้งสิ้นคุณต้องทำคือ ดาวน์โหลดไฟล์โดยใช้ ปุ่มดาวน์โหลด บนหน้า File Manager ควรจะมีลักษณะประมาณภาพด้านล่าง:

บางครั้ง .htaccess ถูกซ่อนและอาจไม่ปรากฏในโฟลเดอร์ public_html เมื่อเป็นเช่นนั้น สิ่งที่คุณต้องทำคือ กลับไปที่ cPanel และคลิกที่ File Manager ป๊อปอัปจะปรากฏขึ้น ที่คุณจะต้องเลือก 'Show Hidden Files' (แสดงไฟล์ที่ซ่อน)

ในกรณีที่คุณพบว่าเว็บไซต์ของคุณไม่มีไฟล์ .htaccess คุณจะต้องสร้างไฟล์ใหม่
หลังจากที่คุณดาวน์โหลดไฟล์ .htaccess แล้ว ให้เปิดมัน มันควรจะมีลักษณะประมาณภาพด้านล่าง:

ขั้นตอนที่ 5: ที่ท้ายของไฟล์ .htaccess ให้เพิ่มโค้ดต่อไปนี้:
order deny, allow allow from your.IP.address deny from all
หมายเหตุ: ใส่ที่อยู่ IP ที่คุณต้องการบล็อกแทน 'IP.address.1' และ 'IP.address.2'
ขั้นตอนที่ 6: หลังจากเสร็จแล้ว คุณจะต้องอัปโหลดไฟล์ในไดเรกทอรี public_html ใน File Manager ควรจะมีตัวเลือก Upload ในหน้า File Manager

หลังจากอัปโหลดไฟล์แล้ว IP ที่คุณระบุจะถูกบล็อก เมื่อที่อยู่ IP เหล่านี้พยายามเข้าถึงเว็บไซต์ของคุณ พวกเขาจะเห็นข้อผิดพลาด '403 Forbidden' บนหน้าจอ
ตรวจสอบให้แน่ใจว่าไฟล์ .htaccess ที่คุณแก้ไขมาจากไดเรกทอรี 'wp-admin' ไม่ใช่ไดเรกทอรีราก (คือ public_html) ของ WordPress มีไฟล์ .htaccess ในไดเรกทอรีรากด้วย และเราไม่ได้ทำการเปลี่ยนแปลงที่นั่น หากคุณแก้ไขไฟล์ .htaccess ในไดเรกทอรี 'wp-admin' ผิดพลาด แล้วผู้เยี่ยมชมทุกคนของเว็บไซต์จะถูกบล็อก คุณไม่ต้องการสิ่งนั้น ดังนั้นเราขอแนะนำให้ระมัดระวังมาก
มีปัญหาหนึ่งที่อาจเกิดขึ้นเมื่อคุณจำกัดการเข้าถึงไดเรกทอรีผู้ดูแล WordPress โดยใช้ IP คือ มันทำลายฟังก์ชัน Ajax ฝั่งหน้าเว็บ (front-end Ajax functionality) ฟังก์ชันนี้ช่วยให้หน้าเว็บแสดงการเปลี่ยนแปลงแบบเรียลไทม์ ตัวอย่างเช่น คุณอาจใช้ปลั๊กอินที่แสดง Twitter feed บนเว็บไซต์ ทุกครั้งที่คุณทวีท มันจะปรากฏบนเว็บไซต์โดยอัตโนมัติ คุณไม่ต้องโหลดหน้าใหม่เพื่อดูทวีท สิ่งนี้เป็นไปได้เพราะฟังก์ชัน Ajax
เพื่อไม่ให้ฟังก์ชัน Ajax ฝั่งหน้าเว็บเสียหาย คุณต้องตรวจสอบว่าปลั๊กอินของคุณมีการใช้ Ajax ในหน้าเว็บหรือไม่ หากใช่ คุณจะต้องเพิ่มโค้ดต่อไปนี้ลงในไฟล์ .htaccess จากไดเรกทอรี wp-admin
<Files admin-ajax.php> order allow, deny allow from all satisfy any </Files>
เพียงเท่านี้ก็เสร็จสิ้น
มาถึงคุณ
เพื่อจำกัดการเข้าถึงไดเรกทอรีผู้ดูแล WordPress คุณต้องมีความรู้เล็กน้อยเกี่ยวกับไฟล์ WordPress เราหวังว่าหลังจากอ่านบทความนี้ เว็บไซต์ของคุณจะปลอดภัยมากขึ้น โปรดติดต่อเราหากมีคำถามหรือข้อเสนอแนะ ขอบคุณที่อ่าน