ไฟล์ .htaccess เป็นไฟล์การกำหนดค่าเซิร์ฟเวอร์ที่รองรับโดยเว็บเซิร์ฟเวอร์หลายตัว รวมถึงซอฟต์แวร์เว็บเซิร์ฟเวอร์ Apache ที่ได้รับความนิยมมากที่สุด ไฟล์ที่ดูธรรมดานี้กลับมีฟังก์ชันและความสามารถมากมาย ซึ่งหากใช้อย่างถูกต้องจะสามารถกำหนดวิธีที่เว็บเซิร์ฟเวอร์ประมวลผลคำขอได้อย่างมีประสิทธิภาพ เรียนรู้วิธีจำกัดการเข้าถึงไฟล์และไดเรกทอรีของ WordPress โดยใช้ไฟล์ .htaccess
นอกจากการกำหนดวิธีที่เว็บเซิร์ฟเวอร์ประมวลผลคำขอแล้ว ยังมีประโยชน์มากในการปกป้องไฟล์ WordPress จากการเข้าถึงโดยไม่ได้รับอนุญาตจากแฮกเกอร์ ในบทความนี้ เราจะสำรวจหลายวิธีที่คุณสามารถปกป้องไฟล์และไดเรกทอรี WordPress โดยใช้ .htaccess ได้
1. วิธีปกป้องไฟล์และไดเรกทอรี WordPress ด้วย .htaccess
มาสำรวจเทคนิคง่ายๆ ที่คุณสามารถนำมาใช้เพื่อปกป้องไฟล์ WordPress จากสายตาที่เฝ้าระวังกันได้ Click To Tweet
ก่อนที่เราจะไปปกป้องไฟล์อื่นๆ มาเริ่มต้นด้วยการปกป้องไฟล์ .htaccess ก่อน อย่างไรก็ตาม ตามที่เราพูดเสมอ ก่อนทำการเปลี่ยนแปลงใดๆ (ไม่ว่าจะใหญ่หรือเล็กแค่ไหน) ควรสำรองเว็บไซต์เสมอ และในกรณีนี้ ให้เก็บสำเนาไฟล์ .htaccess ไว้หลายชุดบนระบบโลคัลของคุณ เพื่อควบคุมความเสียหายที่อาจเกิดขึ้นจากการแก้ไขไฟล์โดยผิดพลาด
i. การปกป้องไฟล์ .htaccess
ไฟล์ .htaccess สามารถค้นหาได้ง่ายในโฟลเดอร์รากเว็บ public_html มี 2 วิธีในการเข้าถึงไฟล์นี้ – ใช้ FTP เช่น FileZilla หรือใช้ File Manager ของบัญชีโฮสติ้ง WordPress ในบทความนี้ เราใช้ File Manager เพื่อเข้าถึงไฟล์และแสดงวิธีการรักษาความปลอดภัย
ขั้นตอนที่ 1: เข้าสู่ระบบบัญชีโฮสติ้งเว็บของคุณด้วยชื่อผู้ใช้และรหัสผ่าน หากคุณไม่แน่ใจเกี่ยวกับข้อมูลเข้าสู่ระบบ โปรดอ้างอิงคู่มือของเรา
ขั้นตอนที่ 2: คลิกที่ File Manager
ขั้นตอนที่ 3: ต่อไป คลิกที่โฟลเดอร์ public_html
ขั้นตอนที่ 4: ภายในคุณจะเห็นไฟล์ .htaccess คลิกขวาที่มัน และเลือกตัวเลือก edit
เมื่อเข้าถึงไฟล์แล้ว ให้วางโค้ดสนิปเพทต่อไปนี้ลงไป
# Deny access to .htaccess
<Files .htaccess>
Order allow,deny
Deny from all
</Files>
โค้ดนี้จะจำกัดผู้ใช้ไม่ให้เข้าถึงไฟล์ .htaccess ของคุณ ง่ายใช่ไหม?
ตอนนี้เราได้รักษาความปลอดภัยไฟล์ .htaccess แล้ว ถึงเวลาไปปกป้องไฟล์อื่นๆ มาเริ่มกับการรักษาความปลอดภัยโฟลเดอร์ wp-admin กัน
ii. จำกัดการเข้าถึงโฟลเดอร์ wp-admin ด้วย .htaccess
โฟลเดอร์ wp-admin มีไฟล์ที่ร่วมกันขับเคลื่อนเครื่องมือผู้ดูแลระบบ ไฟล์ admin.php ภายใต้โฟลเดอร์นี้ทำหน้าที่:
- เปิดใช้งานการเชื่อมต่อกับฐานข้อมูล
- แสดงแดชบอร์ด WordPress
- ควบคุมหน้าล็อกอินของเว็บไซต์
เช่นที่คุณเห็น ไดเรกทอรี wp-admin เป็นไดเรกทอรีที่สำคัญมาก และต้องระมัดระวังปกป้องจากการเข้าถึงโดยไม่ได้รับอนุญาต นั่นเป็นเพราะการเข้าถึงแผงผู้ดูแลจะทำให้แฮกเกอร์สร้างความวุ่นวายบนเว็บไซต์ของคุณได้ เพื่อป้องกัน ให้จำกัดการเข้าถึงของผู้ใช้โฟลเดอร์ผู้ดูแล WordPress โดยใช้ไฟล์ .htaccess อนุญาตให้เข้าถึงเฉพาะที่อยู่ IP ที่คุณเลือก ในการทำเช่นนี้ คุณจะต้องสร้างไฟล์ .htaccess ใหม่พร้อมโค้ดเฉพาะ (โค้ดในกล่องสีน้ำเงินด้านล่าง) และอัปโหลดไปยังโฟลเดอร์ wp-admin ของคุณ
ในการสร้างไฟล์ .htaccess ใหม่ ให้เปิดไฟล์ใหม่ในตัวแก้ไขข้อความเริ่มต้นและตั้งชื่อว่า .htaccess ไม่ใช่ .htaccess.txt หรือ .htaccess.doc หรือนามสกุลไฟล์เพิ่มเติมใดๆ แค่ .htaccess เพียงอย่างเดียว เมื่อทำเสร็จแล้ว ให้วางโค้ดต่อไปนี้ลงไป
# Limit logins and admin by IP
<Limit GET POST PUT>
order deny,allow
deny from all
allow from 12.34.56.78
</Limit>
เพื่ออัปโหลดไฟล์ .htaccess ที่สร้างใหม่ไปยังโฟลเดอร์ wp-admin ให้เข้าสู่ระบบบัญชีโฮสต์เว็บและเปิด File Manager ตามที่แสดงด้านล่าง
เมื่อคุณคลิกที่ File Manager คุณจะเห็นไฟล์และโฟลเดอร์ทั้งหมดในเว็บไซต์ ตามภาพด้านล่าง จากนั้นคลิกที่โฟลเดอร์ public_html
คลิกที่โฟลเดอร์ wp-admin
จากนั้นคลิกที่ปุ่มอัปโหลดตามที่แสดงก่อนหน้านี้
เลือกไฟล์ .htaccess ที่คุณสร้างขึ้นบนระบบโลคัลและอัปโหลดในหน้าต่างที่เปิดขึ้น
เมื่อคุณอัปโหลดไฟล์ .htaccess ใหม่เสร็จแล้ว คุณก็เสร็จสิ้น! มาตรการความปลอดภัยใหม่นี้จะจำกัดผู้ใช้ ยกเว้นผู้ที่คุณอนุญาตอย่างชัดเจน ไม่ให้เข้าถึงแผงผู้ดูแลระบบ
โปรดทราบว่านี้จะจำกัดการเข้าถึง wp-admin เท่านั้น และจะไม่จำกัดการเข้าถึงเว็บไซต์ WordPress ทั้งหมด wp-admin ยังคงสามารถเข้าถึงได้โดยผู้ใช้ที่ลงทะเบียน แต่ก็สามารถจำกัดได้โดยบทบาทผู้ใช้ เช่นกัน สามารถจำกัดสิทธิ์ผู้ใช้ได้ เพื่อไม่ให้ทุกผู้ใช้ที่ลงทะเบียนสามารถเข้าถึงโฟลเดอร์นี้
iii. บล็อกการเข้าถึง wp-config.php โดยไม่ได้รับอนุญาต
ไฟล์ wp-config จัดการการกำหนดค่าพื้นฐานของ WordPress และมีข้อมูลที่ละเอียดอ่อนเกี่ยวกับการติดตั้ง WordPress ของคุณ เช่น การตั้งค่า MySQL คีย์ลับ รายละเอียดการเชื่อมต่อฐานข้อมูล WordPress ฯลฯ ถึงกับธรรมชาติที่สำคัญของข้อมูลที่มีอยู่ จึงต้องระมัดระวังปกป้องไม่ให้ถูกเข้าถึงโดยผู้ใช้เว็บ
ไฟล์ .htaccess สามารถช่วยปกป้องไฟล์สำคัญนี้ไม่ให้ถูกเข้าถึงโดยผู้ใช้เว็บได้ ในการทำเช่นนี้ คุณเพียงต้องคัดลอกโค้ดด้านล่างไปวางในไฟล์ .htaccess ของคุณ
ตามที่อธิบายภายใต้ ‘การปกป้องไฟล์ .htaccess’ ให้เข้าถึงไฟล์ .htaccess จาก File Manager และเพิ่มโค้ดต่อไปนี้
<files wp-config.php>
order allow,deny
deny from all
</files>
เมื่อคุณเพิ่มโค้ดข้างต้นแล้ว คุณจะบล็อกการเข้าถึง wp-config.php โดยไม่ได้รับอนุญาต
iv. วิธีบล็อกการเข้าถึง wp-content/uploads และปิดการรัน PHP
หลายครั้งแฮกเกอร์ทิ้งบอร์ทดอร์ไว้เพื่อเข้าถึงไฟล์บนเว็บไซต์ของคุณ เพื่อให้แม้แต่การแฮ็กจะถูกค้นพบและจัดการแล้ว พวกเขาก็ยังสามารถเข้าถึงเว็บไซต์ได้ง่ายในอนาคต ไฟล์บอร์ทดอร์เหล่านี้มักปลอมตัวเป็นไฟล์ WordPress ในไดเรกทอรี wp-includes หรือ wp-content/uploads/ และมักเป็นไฟล์ .php เพื่อรักษาความปลอดภัยไฟล์และโฟลเดอร์ WordPress ให้ดียิ่งขึ้น คุณต้องปิดการทำงานของไฟล์ประเภทเหล่านี้ สามารถช่วยในการจำกัดการเข้าถึง WordPress ได้โดยการปิดการรัน PHP ในไดเรกทอรีเหล่านี้
การปิดการรัน PHP โดยใช้ .htaccess เป็นกระบวนการที่ง่ายมาก หากคุณปฏิบัติตามคำแนะนำง่ายๆ ของเรา
ขั้นแรก สร้างไฟล์ .htaccess ใหม่ในตัวแก้ไขข้อความและเพิ่มโค้ดต่อไปนี้
<Files *.php>
deny from all
</Files>
ขั้นตอนต่อไป ให้เข้าสู่ระบบบัญชีโฮสติ้งเว็บและเปิด File Manager ที่นี่คุณจะเข้าถึงโฟลเดอร์ content และ upload ได้ มองหาโฟลเดอร์ wp-content/uploads/
คลิกที่ปุ่ม Upload และอัปโหลดไฟล์ .htaccess ที่สร้างใหม่
เมื่อคลิกปุ่ม Upload หน้าต่างใหม่จะเปิดขึ้นเพื่อให้คุณเลือกไฟล์ .htaccess จากระบบโลคัล
เมื่อคุณอัปโหลดไฟล์ .htaccess ไปยังโฟลเดอร์ wp-content/uploads/ แล้ว คุณต้องเพิ่มเข้าไปในโฟลเดอร์ wp-includes ด้วย
คล้ายกับการเพิ่มไปยังโฟลเดอร์ wp-content/uploads/ ให้เปิด File Manager เพื่อเข้าถึงโฟลเดอร์ wp-includes จากไดเรกทอรี Home ของเว็บไซต์
คลิกที่โฟลเดอร์ wp-includes แล้วคลิกที่ปุ่มอัปโหลด
เมื่อคุณคลิกที่ปุ่มอัปโหลด คุณจะสามารถเลือกไฟล์จากระบบโลคัลได้ เลือกไฟล์ .htaccess ที่คุณสร้างขึ้นและอัปโหลด
เมื่อคุณเพิ่ม .htaccess ไปยังโฟลเดอร์สำคัญทั้งสองนี้แล้ว คุณก็ได้ปิดการรัน PHP ในโฟลเดอร์เหล่านี้สำเร็จแล้ว
v. ปิดการเรียกดูไดเรกทอรีใน WordPress ด้วย htaccess
การเรียกดูไดเรกทอรีเป็นคุณสมบัติที่คุณเห็นรายการไฟล์และโฟลเดอร์ แทนที่จะเป็นหน้าเว็บ เมื่อพยายามเข้าถึงเว็บไซต์ ตัวอย่างเช่น คุณมีไดเรกทอรีชื่อ private (เป็นตัวอย่าง) บนเว็บไซต์ เช่น www.example.com หากการเรียกดูไดเรกทอรีไม่ได้ถูกปิดในไดเรกทอรีเฉพาะนั้น หากใครพิมพ์ www.example.com/private/ พวกเขาจะเห็นไฟล์และโฟลเดอร์ทั้งหมดภายใต้ไดเรกทอรี private
สิ่งนี้อาจเป็นอันตรายต่อเว็บไซต์ของคุณ เพราะอาจให้ข้อมูลมากมายแก่แฮกเกอร์ที่กำลังวางแผน ซึ่งต่อไปอาจวางแผนโจมตีเว็บไซต์ของคุณพร้อมกับความรู้เกี่ยวกับลำดับชั้นไฟล์ของเว็บไซต์ ด้วยการปิดการเรียกดูไดเรกทอรีใน WordPress ด้วย htaccess คุณจะจำกัดระดับการเข้าถึงเว็บไซต์ของคุณ
เพื่อปิดการเรียกดูไดเรกทอรีสำหรับไดเรกทอรีเฉพาะ ให้สร้างไฟล์ .htaccess ในตัวแก้ไขข้อความและบันทึกเป็น .htaccess (โดยไม่มีนามสกุลไฟล์เพิ่มเติม) จากนั้นเพิ่มโค้ดต่อไปนี้เพื่อจำกัดการเข้าถึงไฟล์ WordPress
# disable directory browsing
Options All -Indexes
เมื่อคุณเพิ่มโค้ดแล้ว ให้อัปโหลดไฟล์ .htaccess ที่สร้างใหม่นี้ไปยังไดเรกทอรีที่คุณต้องการปิดคุณสมบัตินี้ ตัวอย่างเช่น หากคุณต้องการปิดการเรียกดูไดเรกทอรีสำหรับโฟลเดอร์ wp-includes ให้อัปโหลดไฟล์ .htaccess นี้ไปยังโฟลเดอร์ wp-includes ตามที่ทำไว้ก่อนหน้านี้ผ่าน File Manager
vi. การบล็อกที่อยู่ IP เฉพาะที่เข้าถึงเว็บไซต์
คุณอาจสังเกตเห็นว่าผู้ใช้บางรายจากที่อยู่ IP เฉพาะ ได้สแปม โจมตีแฮ็ก หรือพยายามเข้าถึงเว็บไซต์ WordPress โดยไม่ได้รับอนุญาตซ้ำๆ คุณสามารถขัดขวางการเข้าถึงผู้ใช้ WordPress โดยไม่ได้รับอนุญาตโดยการบล็อกที่อยู่ IP ของพวกเขาไม่ให้เข้าถึงเว็บไซต์ของคุณเลย โดยใช้ไฟล์ .htaccess ในการทำเช่นนั้น ให้คัดลอกโค้ดด้านล่างไปวางในไฟล์ .htaccess ของคุณ
<Limit GET POST>
order allow,deny
deny from 123.456.78.9
allow from all
</Limit>
ที่อยู่ IP ในโค้ดข้างต้นเป็นเพียงตัวอย่าง คุณสามารถแทนค่าเหล่านี้ด้วยที่อยู่ IP ที่คุณต้องการบล็อก หากแทนที่จะเป็นหนึ่งคุณมีหลายราย ให้เพิ่มแต่ละรายในบรรทัดที่แยกจากกัน ดูเหมือนนี้:
deny from 213.546.87.9
หากแทนที่จะเป็นที่อยู่ IP เต็มคุณต้องการปฏิเสธการเข้าถึงบล็อกของที่อยู่ IP ให้ละเว้นอ็อกเท็ตสุดท้ายตามที่แสดงด้านล่าง
deny from 213.546.87
สิ่งนี้จะบล็อกที่อยู่ IP ทั้งหมดจาก 213.546.87.0 ถึง 213.546.87.255
หากคุณบล็อกที่อยู่ IP ของผู้ดูแลเว็บไซต์หรือสมาชิกทีมโดยไม่ได้ตั้งใจ โปรดดูคู่มือของเราเกี่ยวกับวิธีการ whitelist ที่อยู่ IP
vii. การบล็อกโดเมนเฉพาะที่เข้าถึงเว็บไซต์ของคุณ
คุณอาจไม่สามารถทราบที่อยู่ IP เฉพาะที่กำลังสแปมคุณได้ตลอดเวลา อย่างไรก็ตาม คุณอาจทราบว่าการโจมตีมาจากลิงก์ที่โพสต์บนโดเมนที่เป็นอันตรายบางแห่ง .htaccess ช่วยให้คุณบล็อกผู้เข้าชมทุกคนที่เข้าถึงเว็บไซต์ของคุณจากลิงก์จากไซต์ที่เป็นอันตรายเหล่านั้น
เพื่อบล็อกชื่อโดเมน ให้เพิ่มโค้ดต่อไปนี้ลงในไฟล์ .htaccess ของคุณ
SetEnvIfNoCase Referer "badsite.com" bad_referer
Order Allow,Deny
Allow from ALL
Deny from env=bad_referer
ในโค้ดข้างต้น ให้แทน ‘badsite’ ด้วยโดเมนที่คุณต้องการบล็อก ด้วยการทำเช่นนี้ ทุกครั้งที่ผู้ใช้พยายามเข้าถึงเว็บไซต์ของคุณจากโดเมนที่คุณบล็อก พวกเขาจะได้รับข้อความข้อผิดพลาดและไม่สามารถเข้าถึงเว็บไซต์ของคุณได้
2. โซลูชันทางเลือก
แม้ว่าวิธีแก้ไขทั้งหมดข้างต้นจะมีประสิทธิภาพในการจำกัดการเข้าถึงไฟล์และไดเรกทอรีใน WordPress แต่ไม่สามารถปฏิเสธได้ว่ามันเป็นความเสี่ยงมากต่อเว็บไซต์ของคุณ ทำไม? เพราะคุณกำลดัดแปลงไฟล์การกำหนดค่าที่สำคัญมาก จุดทศนิยมที่วางผิดที่เพียงจุดเดียวก็สามารถทำให้ฟังก์ชันของเว็บไซต์หยุดทำงาน! น่ากลัวใช่ไหม?
ดังนั้น หากคุณไม่ใช่ผู้เชี่ยวชาญ แนะนำให้ใช้ปลั๊กอินความปลอดภัยสำหรับเว็บไซต์ WordPress เพราะจะช่วยแข็งตัวเว็บไซต์ของคุณ ปลั๊กอิน WordPress ชื่อ MalCare สามารถดูแลด้านความปลอดภัยของเว็บไซต์ได้ ไม่ว่าจะเป็นการบล็อก IP เฉพาะ การนำมาตรการแข็งตัวเว็บไซต์ไปใช้ การปกป้องหน้าล็อกอิน การสแกนมัลแวร์ หรือมาตรการความปลอดภัยสำคัญอื่นๆ MalCare ทำได้หมด!
สำหรับโซลูชันความปลอดภัยเว็บไซต์ครบวงจร
ลอง MalCare ฟรีวันนี้!