ตั้งรหัสผ่านป้องกันโฟลเดอร์ (Password-Protected Directories) บน Plesk
บางครั้งคุณต้องการให้โฟลเดอร์หนึ่งบนเว็บไซต์เปิดดูได้เฉพาะคนที่รู้รหัสผ่าน เช่น เว็บไซต์ทดสอบที่ยังไม่พร้อมเปิดตัว หน้ารายงานภายในบริษัท หรือโฟลเดอร์เอกสารสำหรับลูกค้าเฉพาะราย ฟีเจอร์ Password-Protected Directories ของ Plesk ทำเรื่องนี้ได้โดยไม่ต้องเขียนโค้ด เมื่อมีคนเปิดโฟลเดอร์นั้น เบราว์เซอร์จะแสดงหน้าต่างให้ใส่ชื่อผู้ใช้และรหัสผ่านก่อน
กลไกเบื้องหลังคือ HTTP Basic Authentication ของเว็บเซิร์ฟเวอร์ ซึ่งส่งรหัสผ่านไปกับทุกคำขอ จึงต้องใช้ร่วมกับ HTTPS เสมอ บทความนี้อ้างอิง Plesk Obsidian บน Linux ตำแหน่งเมนูอาจต่างกันเล็กน้อยตามเวอร์ชันย่อย
สิ่งที่ต้องเตรียม
- บัญชีเข้าใช้งาน Plesk ของโดเมน
- เว็บไซต์ที่ใช้ HTTPS ได้แล้ว และแนะนำให้บังคับ HTTPS ตาม บังคับเว็บไซต์ให้ใช้ HTTPS บน Plesk
- ชื่อโฟลเดอร์ที่ต้องการป้องกัน เทียบกับ Document Root เช่น
/privateหมายถึงhttpdocs/private
หมายเหตุ: ฟีเจอร์นี้ป้องกันการเปิดผ่านเว็บเท่านั้น ไม่ได้เข้ารหัสไฟล์ และไม่มีผลกับการเข้าถึงผ่าน FTP หรือ File Manager ถ้าข้อมูลเป็นความลับระดับสูง ไม่ควรเก็บไว้ในโฟลเดอร์เว็บเลย
ขั้นตอนที่ 1: เปิดหน้า Password-Protected Directories
- ล็อกอิน Plesk ไปที่ Websites & Domains แล้วเลือกโดเมน
- ในแท็บ Dashboard ของโดเมน คลิก Password-Protected Directories (มักอยู่ในกลุ่ม Security หรือ Files & Databases ขึ้นกับเวอร์ชัน ถ้าหาไม่เจอ ใช้ช่องค้นหาด้านบนของ Plesk พิมพ์ Password-Protected)
ขั้นตอนที่ 2: เพิ่มโฟลเดอร์ที่ต้องการป้องกัน
- คลิก Add Protected Directory
- ช่อง Directory name ใส่ชื่อโฟลเดอร์เทียบจาก Document Root เช่น
/privateถ้าโฟลเดอร์ยังไม่มี Plesk จะสร้างให้ ถ้าต้องการป้องกันทั้งเว็บไซต์ ให้ใส่/ - ช่อง Title of the protected area (บางเวอร์ชันชื่อ Header text) ใส่ข้อความสั้นๆ เช่น
Staff onlyเบราว์เซอร์บางตัวจะแสดงข้อความนี้ในหน้าต่างใส่รหัสผ่าน - Plesk บางเวอร์ชันมีช่องให้เลือกว่าจะป้องกันแบบ SSL/TLS, แบบ non-SSL หรือทั้งสองแบบ ถ้ามี ให้เลือกทั้งสองแบบ
- คลิก OK
ขั้นตอนที่ 3: เพิ่มผู้ใช้ที่ได้รับอนุญาต
โฟลเดอร์ที่ป้องกันแล้วแต่ยังไม่มีผู้ใช้ จะไม่มีใครเข้าได้เลย
- คลิกชื่อโฟลเดอร์ที่เพิ่งสร้างในรายการ
- คลิก Add User
- ใส่ Username เช่น
staffและตั้ง Password ใช้รหัสที่ยาวและไม่ซ้ำกับรหัสผ่านอื่น เพราะ Basic Authentication ไม่มีระบบล็อกบัญชีเมื่อเดารหัสผิดหลายครั้ง - คลิก OK
เพิ่มผู้ใช้ได้หลายคน แนะนำให้แยกบัญชีต่อคนหรือต่อกลุ่มลูกค้า เวลาต้องเพิกถอนสิทธิ์จะได้ลบเฉพาะคนนั้นโดยไม่ต้องเปลี่ยนรหัสของทุกคน
ตรวจสอบผลลัพธ์
- เปิด
https://example.com/private/ในหน้าต่าง Incognito เบราว์เซอร์ต้องแสดงหน้าต่างถามชื่อผู้ใช้และรหัสผ่าน ถ้ากด Cancel ต้องได้หน้า 401 Unauthorized - ทดสอบด้วย
curlโดยไม่ใส่รหัสผ่าน
ควรได้curl -I https://example.com/private/401และมีบรรทัดWWW-Authenticate: Basic - ทดสอบพร้อมรหัสผ่าน (คำสั่งนี้จะถามรหัสผ่านโดยไม่แสดงบนจอ)
ควรได้curl -I -u staff https://example.com/private/200หรือ301/302ตามที่หน้าในโฟลเดอร์นั้นตอบ ไม่ใช่ 401
จัดการภายหลัง
- เปลี่ยนรหัสผ่าน: คลิกชื่อโฟลเดอร์ แล้วคลิกชื่อผู้ใช้ ตั้งรหัสใหม่แล้วกด OK
- ลบผู้ใช้: ติ๊กเลือกผู้ใช้แล้วคลิก Remove
- ยกเลิกการป้องกัน: ที่หน้ารายการโฟลเดอร์ ติ๊กเลือกโฟลเดอร์แล้วคลิก Remove Protection ตัวโฟลเดอร์และไฟล์ข้างในจะยังอยู่ครบ
ปัญหาที่พบบ่อย
ใส่รหัสถูกแล้วแต่ยังถูกถามซ้ำ
ตรวจว่าพิมพ์ชื่อผู้ใช้ตรงตัวพิมพ์เล็กใหญ่ และไม่มีช่องว่างเกิน ถ้าเพิ่งเปลี่ยนรหัสผ่าน เบราว์เซอร์อาจจำรหัสเดิมไว้ ให้ปิดเบราว์เซอร์ทั้งหมดแล้วเปิดใหม่ หรือทดสอบในหน้าต่าง Incognito
ป้องกันโฟลเดอร์ wp-admin ของ WordPress แล้วบางฟังก์ชันหน้าเว็บเสีย
หน้าเว็บ WordPress ฝั่งผู้เข้าชมและปลั๊กอินหลายตัวเรียกไฟล์ wp-admin/admin-ajax.php เมื่อโฟลเดอร์ทั้งหมดถูกป้องกัน คำขอเหล่านั้นจะได้ 401 ทำให้ฟอร์ม ตะกร้าสินค้า หรือปุ่มโหลดเพิ่มทำงานผิดปกติ บนเว็บที่ Apache เป็นผู้ประมวลผล PHP (ค่าเริ่มต้นของ Plesk บน Linux) อาจแก้ได้โดยสร้างไฟล์ httpdocs/wp-admin/.htaccess ที่มีเนื้อหาด้านล่าง เพื่อยกเว้นเฉพาะไฟล์นั้น
<Files "admin-ajax.php">
Require all granted
</Files>
ทดสอบหลังแก้ว่า curl -I https://example.com/wp-admin/admin-ajax.php ไม่ได้ 401 แล้ว และ https://example.com/wp-admin/ ยังถามรหัสผ่านอยู่ ผลลัพธ์ขึ้นกับการตั้งค่า Apache และ nginx ของเซิร์ฟเวอร์ จึงต้องทดสอบทั้งสองข้อเสมอ ถ้ายังไม่ได้ผล ให้พิจารณาใช้วิธีป้องกันหน้าแอดมินแบบอื่นแทน เช่น เปิดการยืนยันตัวตนสองชั้นของ WordPress
หน้าต่างถามรหัสไม่ขึ้น เข้าได้เลยโดยไม่ต้องใส่รหัส
เบราว์เซอร์อาจยังจำรหัสผ่านจากการทดสอบครั้งก่อน ให้ทดสอบใน Incognito หรือด้วย curl -I ถ้ายังได้ 200 ให้ตรวจว่า Directory name ตรงกับโฟลเดอร์จริง เช่นพิมพ์ /Private แต่โฟลเดอร์ชื่อ private บน Linux ถือเป็นคนละโฟลเดอร์
ลืมรหัสผ่าน
ดูรหัสเดิมไม่ได้ ให้ตั้งรหัสใหม่ในหน้าผู้ใช้ของโฟลเดอร์นั้นตามหัวข้อจัดการภายหลัง
หากตั้งค่าแล้วการป้องกันไม่ทำงานตามที่คาดไว้ ติดต่อทีมงาน THAI DATA CLOUD ได้ที่ https://thaidata.cloud/contact/
- Categories:
- Cloud
- Tags:
- Cloud
- Cloud Server
Related Posts
หมวดหมู่ที่น่าสนใจ
- Account Settings
- AD Server
- AI
- Alibaba Cloud
- Anti-Spam Gateway
- AWS Amazon Web Services
- Campaign
- CentOS/AlmaLinux
- Cloud
- Cloud Backup
- Cloud Communication
- Cloud Migration
- Cloud Security
- Cloud Server Management
- Cloud Solution
- Cloud Solution for Government
- Cloud Solutions by Industry
- Cloud Storage
- Cloud VPS App Plus +
- Cloud VPS DirectAdmin
- Cloud VPS Plesk
- CSR
- Cyber Security
- Cybersecurity
- Data Sovereignty
- Database Server
- DDoS
- Digital Tranformation
- Digital Transformation
- Direct Mail
- Directadmin
- Domainname
- Ecommerce
- ERP
- Generative AI
- Getting Started
- Google Cloud
- Google G Suite
- Huawei Cloud
- IT News
- Linux Server
- Managed Cloud Services
- Managed Service Provider
- Manual
- Microsoft
- Microsoft 365
- Microsoft Azure
- News
- On-premise
- Private Mail Server
- Promotion
- Recommend Solution (Enterprise)
- Server
- Sovereign Cloud
- THAI DATA CLOUD Platform
- Ubuntu
- Ubuntu
- Uncategorized
- VMware
- VPS Server
- Web Design
- Web Hosting
- Web Hosting (DirectAdmin)
- Web Hosting (Plesk)
- Web Technologies
- Windows Server
- Wordpress
- Zimbra
- เรื่องราวความประทับใจ
- โซลูชันสำหรับธุรกิจการผลิตและยานยนต์
- โซลูชันสำหรับธุรกิจการศึกษา
- โซลูชันสำหรับธุรกิจการเงิน
- โซลูชันสำหรับธุรกิจขนส่งและกระจายสินค้า
- โซลูชันสำหรับธุรกิจค้าปลีก
- โซลูชันสำหรับธุรกิจท่องเที่ยว
- โซลูชันสำหรับธุรกิจบริการสุขภาพและโรงพยาบาล
- โซลูชันสำหรับธุรกิจประกันภัย
- โซลูชันสำหรับธุรกิจพลังงานและสาธารณูปโภค
- โซลูชันสำหรับธุรกิจสื่อสารมวลชนและเอ็นเตอร์เทนเมนท์
- โซลูชันสำหรับธุรกิจอสังหาริมทรัพย์
- โซลูชันสำหรับธุรกิจเทคโนโลยี


