15 ตัวอย่าง. htaccess ที่มีประโยชน์สำหรับเว็บไซต์ WordPress ของคุณ
มี กำหนดค่าไฟล์. htaccess เป็นสิ่งสำคัญหากคุณต้องการ เพิ่มความปลอดภัย และ ลดช่องโหว่ บนเว็บไซต์ WordPress ของคุณ โดยปกติแล้วเป้าหมายหลักของการสร้าง ไฟล์. htaccess ที่กำหนดเอง คือการป้องกันไม่ให้ไซต์ของคุณถูกแฮ็ค แต่ก็เป็นวิธีที่ยอดเยี่ยมในการจัดการการเปลี่ยนเส้นทางและจัดการงานที่เกี่ยวข้องกับแคช.
.htaccess คือ ไฟล์การกำหนดค่า ใช้กับ Apache เว็บเซิร์ฟเวอร์ ไซต์ WordPress ส่วนใหญ่ ทำงานบนเซิร์ฟเวอร์ Apache, แม้ว่าส่วนเล็ก ๆ คือ ขับเคลื่อนโดย Nginx. ในบทความนี้คุณสามารถหา ชุดของตัวอย่างรหัส. htaccess, ส่วนใหญ่คุณสามารถใช้เพื่อรักษาความปลอดภัยเว็บไซต์ของคุณในขณะที่ส่วนที่เหลือใช้คุณสมบัติที่มีประโยชน์อื่น ๆ.
อย่าลืม สำรองข้อมูลไฟล์. htaccess ก่อนที่คุณจะแก้ไขเพื่อให้คุณสามารถทำได้ตลอดเวลา กลับไปที่รุ่นก่อนหน้า ถ้ามีอะไรผิดพลาด.
และหากคุณเป็นคนที่ไม่ได้สัมผัสกับไฟล์กำหนดค่าฉันขอแนะนำให้คุณ ระบบรักษาความปลอดภัย ปลั๊กอินที่น่าเชื่อถือที่สุด (และอาจเก่าที่สุด) ปลั๊กอินการรักษาความปลอดภัย. htaccess ฟรี ที่ตลาด.
สร้าง WP .htaccess เริ่มต้น
.htaccess ทำงานบน พื้นฐานสำหรับแต่ละไดเรกทอรี ซึ่งหมายความว่าแต่ละไดเรกทอรีสามารถมีไฟล์. htaccess ของตนเองได้ มันสามารถเกิดขึ้นได้ง่าย ๆ ที่ไซต์ WordPress ของคุณ ยังไม่มีไฟล์. htaccess. หากคุณไม่พบไฟล์. htaccess ในไดเรกทอรีรากของคุณ สร้างไฟล์ข้อความที่ว่างเปล่า และตั้งชื่อให้ .htaccess
.
ด้านล่างนี้คุณสามารถค้นหา ค่าเริ่มต้น. htaccess WordPress ใช้ เมื่อใดก็ตามที่คุณต้องการรหัสนี้คุณสามารถค้นหาได้อย่างรวดเร็วใน WordPress Codex โปรดทราบว่ามี. htaccess ที่แตกต่างกันสำหรับ WP Multisite.
# BEGIN WordPressRewriteEngine บน RewriteBase / RewriteRule ^ index \ .php $ - [L] RewriteCond% REQUEST_FILENAME! -f RewriteCond% REQUEST_FILENAME! -d RewriteRule /index.php [L] # END WordPress
บรรทัดที่ขึ้นต้นด้วย #
มีความคิดเห็น. อย่าแก้ไขอะไรเลย ระหว่างบรรทัด # BEGIN WordPress
และ # END WordPress
. เพิ่มกฎ. htaccess ที่กำหนดเองของคุณ ด้านล่างกฎเริ่มต้นเหล่านี้.
ตัวอย่างโค้ดทั้งหมดที่คุณสามารถหาได้ในบทความนี้ ไปที่ไฟล์ core .htaccess พบในไดเรกทอรีรากของคุณ.
1. ปฏิเสธการเข้าถึงไฟล์. htaccess ทั้งหมด
รหัสด้านล่าง ปฏิเสธการเข้าถึง ไปยังไฟล์. htaccess ทั้งหมดที่คุณติดตั้งใน WordPress ของคุณ วิธีนี้คุณสามารถป้องกันไม่ให้คนอื่นเห็นคุณ การกำหนดค่าเว็บเซิร์ฟเวอร์.
# ปฏิเสธการเข้าถึงไฟล์. htaccess ทั้งหมดคำสั่งอนุญาต, ปฏิเสธปฏิเสธจากทั้งหมดพึงพอใจทั้งหมด
2. ปกป้องการกำหนดค่า WP ของคุณ
WP-config.php
ไฟล์มี การกำหนดค่า WP ทั้งหมดของคุณ, รวมถึงการเข้าสู่ระบบฐานข้อมูลและรหัสผ่านของคุณ คุณสามารถปฏิเสธได้จากทุกคนหรือ อนุญาตให้ผู้ดูแลระบบเข้าถึงได้.
หากคุณเลือกหลัง แสดงความคิดเห็น # อนุญาตจาก xx.xx.xx.xxx
บรรทัด (ลบ #
จากจุดเริ่มต้นของบรรทัด) และ ใส่ที่อยู่ IP ของผู้ดูแลระบบ ในตำแหน่งของ xx.xx.xx.xxx
.
# ปกป้อง wp-configคำสั่งอนุญาต, ปฏิเสธ # อนุญาตจาก xx.xx.xx.xxx # อนุญาตจาก yy.yy.yy.yyy ปฏิเสธทั้งหมด
3. ป้องกันการโจมตี DDoS ของ XML-RPC
WordPress รองรับ XML-RPC โดยค่าเริ่มต้นซึ่งเป็น อินเตอร์เฟซที่ทำให้การเผยแพร่ระยะไกล เป็นไปได้ อย่างไรก็ตามในขณะที่มันเป็นคุณสมบัติที่ยอดเยี่ยม แต่ก็เป็นหนึ่งในช่องโหว่ด้านความปลอดภัยที่ใหญ่ที่สุดของ WP อย่างที่แฮ็กเกอร์อาจทำได้ ใช้ประโยชน์จากการโจมตี DDoS.
หากคุณไม่ต้องการใช้คุณสมบัตินี้จะเป็นการดีกว่า ปิดการใช้งาน. เหมือนเมื่อก่อนคุณทำได้ เพิ่มข้อยกเว้นโดยการแสดงความคิดเห็น # อนุญาตจาก xx.xx.xx.xxx
บรรทัดและเพิ่ม IP ของผู้ดูแลระบบของคุณ.
# ปกป้อง XML-RPC ป้องกันการโจมตี DDoSคำสั่งปฏิเสธ, อนุญาต # อนุญาตจาก xx.xx.xx.xxx # อนุญาตจาก yy.yy.yy.yyy ปฏิเสธทั้งหมด
4. ปกป้องพื้นที่ดูแลระบบของคุณ
เป็นความคิดที่ดีเช่นกัน ปกป้องพื้นที่ผู้ดูแลระบบ โดยให้สิทธิ์การเข้าถึงแก่ผู้ดูแลระบบเท่านั้น ที่นี่อย่าลืม เพิ่มอย่างน้อยหนึ่ง “อนุญาต” ข้อยกเว้น ไม่เช่นนั้นคุณจะไม่สามารถเข้าถึงผู้ดูแลระบบของคุณได้เลย.
# ปกป้องพื้นที่ผู้ดูแลระบบโดย IP AuthUserFile / dev / null AuthGroupFile / dev / null AuthName "WordPress การควบคุมการเข้าถึงผู้ดูแลระบบ WordPress" AuthType พื้นฐานคำสั่งปฏิเสธ, อนุญาตปฏิเสธจากทั้งหมดอนุญาตจาก xx.xx.xx.xxx อนุญาตจาก yy.yy.yy.yyy
5. ป้องกันรายการไดเรกทอรี
ไซต์ WordPress ส่วนใหญ่ไม่ได้ปิดใช้งานรายการไดเรกทอรีซึ่งหมายความว่าทุกคนสามารถทำได้ เรียกดูโฟลเดอร์และไฟล์ของพวกเขา, รวมถึงการอัปโหลดสื่อและไฟล์ปลั๊กอิน ไม่จำเป็นต้องบอกว่านี่เป็นช่องโหว่ด้านความปลอดภัยขนาดใหญ่.
ด้านล่างคุณสามารถดูได้ว่า รายการไดเรกทอรี WordPress ทั่วไปดูเหมือนว่า.
โชคดีที่คุณต้องการ โค้ดหนึ่งบรรทัด เพื่อบล็อกคุณสมบัตินี้ ข้อมูลโค้ดนี้จะ ส่งคืนข้อความแสดงข้อผิดพลาด 403 ถึงทุกคนที่ต้องการเข้าถึงไดเรกทอรีของคุณ.
# ป้องกันตัวเลือกรายชื่อไดเรกทอรี -Indexes
6. ป้องกันการระบุชื่อผู้ใช้
หากเปิดใช้งานการเชื่อมโยง WP มันเป็นเรื่องง่ายมาก ระบุชื่อผู้ใช้ ใช้คลังข้อมูลผู้แต่ง ชื่อผู้ใช้ที่เปิดเผย (รวมถึงชื่อผู้ใช้ของผู้ดูแลระบบ) นั้นสามารถใช้ได้ใน การโจมตีที่ดุร้าย.
ใส่รหัสด้านล่างลงในไฟล์. htaccess ของคุณ ป้องกันการระบุชื่อผู้ใช้.
# ป้องกันการระบุชื่อผู้ใช้ RewriteCond% QUERY_STRING ผู้เขียน = d RewriteRule ^ /? [L, R = 301]
7. บล็อกสแปมและบอท
บางครั้งคุณอาจต้องการ จำกัด การเข้าถึงจากที่อยู่ IP ที่แน่นอน. ข้อมูลโค้ดนี้เป็นวิธีที่ง่ายในการบล็อกผู้ส่งสแปมและบอทที่คุณรู้จัก.
# บล็อกสแปมเมอร์และบอทคำสั่งอนุญาต, ปฏิเสธปฏิเสธจาก xx.xx.xx.xxx ปฏิเสธจาก yy.yy.yy.yyy อนุญาตจากทั้งหมด
8. ป้องกันภาพ hotlinking
แม้ว่าจะไม่ใช่ภัยคุกคามความปลอดภัย, รูปภาพ hotlinking ยังคงเป็นสิ่งที่น่ารำคาญ คนไม่เพียง ใช้ภาพของคุณโดยไม่ได้รับอนุญาต แต่พวกเขาก็ทำตามที่คุณต้องการ ด้วยโค้ดสองสามบรรทัดนี้คุณสามารถป้องกันไซต์ของคุณจากรูปภาพฮอตลิงค์.
# ป้องกันรูปภาพ hotlinking RewriteEngine บน RewriteCond% HTTP_REFERER! ^ $ RewriteCond% HTTP_REFERER! ^ http (s)?: // (www \.) yourwebsite.com [NC] RewriteCond% HTTP_REFERER! ^ http (s) s)?: // (www \.)? yourwebsite2.com [NC] RewriteRule \. (jpe? g? | png | gif | ico | pdf | flv | swf | gz) $ - [NC, F, L]
9. จำกัด การเข้าถึงปลั๊กอิน PHP และธีมโดยตรง
อาจเป็นอันตรายได้ถ้ามีคน โทรโดยตรงปลั๊กอินและไฟล์ธีมของคุณ, ไม่ว่าจะเกิดขึ้นโดยไม่ตั้งใจหรือโดยผู้โจมตีที่เป็นอันตราย ข้อมูลโค้ดนี้ มาจาก บริษัท รักษาความปลอดภัยเว็บไซต์ Acunetix; คุณสามารถอ่านเพิ่มเติมเกี่ยวกับช่องโหว่นี้ได้ในบล็อกโพสต์.
# จำกัด การเข้าถึงไฟล์ PHP จากไดเรกทอรีปลั๊กอินและธีม RewriteCond% REQUEST_URI! ^ / wp-content / ปลั๊กอิน / ไฟล์ / ถึง / ไม่รวม \ .php RewriteCond% REQUEST_URI! ^ / wp-content / plugins / directory / / แยก / RewriteRule wp-content / plugins / (. * \. php) $ - [R = 404, L] RewriteCond% REQUEST_URI! ^ / wp-content / ธีม / ไฟล์ / ถึง / ไม่รวม \ .php RewriteCond% REQUEST_URI! ^ / wp-content / themes / directory / ถึง / ไม่รวม / RewriteRule wp-content / themes / (. * \. php) $ - [R = 404, L]
10. ตั้งค่าการเปลี่ยนเส้นทางแบบถาวร
คุณสามารถ จัดการการเปลี่ยนเส้นทางถาวร ด้วย. htaccess ก่อนอื่นคุณต้องเพิ่ม URL เก่า, จากนั้นทำตาม URL ใหม่ ซึ่งจะชี้ไปยังหน้าที่คุณต้องการเปลี่ยนเส้นทางผู้ใช้ไป.
# การเปลี่ยนเส้นทางแบบถาวรเปลี่ยนเส้นทาง 301 / oldurl1 / http://yoursite.com/newurl1 การเปลี่ยนเส้นทางถาวร 301 / oldurl2 / http://yoursite.com/newurl2
11. ส่งผู้เยี่ยมชมไปยังหน้าการบำรุงรักษา
เราเขียนรายละเอียดเกี่ยวกับเทคนิคนี้ไว้ที่นี่ คุณต้องการ หน้าการบำรุงรักษาแยกต่างหาก (maintenance.html
ในตัวอย่าง) สำหรับกฎ. htaccess นี้เพื่อให้ทำงานได้ รหัสนี้ทำให้เว็บไซต์ของคุณ WordPress เข้าสู่โหมดบำรุงรักษา.
# เปลี่ยนเส้นทางไปยังหน้าการบำรุงรักษาRewriteEngine บน RewriteCond% REMOTE_ADDR! ^ 123 \ .456 \ .789 \ .000 RewriteCond% REQUEST_URI! /maintenance.html$ [NC] RewriteCond% REQUEST_URI! \ (jpe? g? | png | gng ) [NC] RewriteRule. * /maintenance.html [R = 503, L]
12. จำกัด การเข้าถึง WP ทั้งหมดรวมถึง
/ WP-includes /
โฟลเดอร์ มีไฟล์ WordPress หลัก ที่จำเป็นสำหรับ CMS ในการทำงาน ไม่มีเนื้อหาปลั๊กอินธีมหรือสิ่งอื่นใดที่ผู้ใช้อาจต้องการเข้าถึงที่นี่ ดังนั้นเพื่อเพิ่มความปลอดภัยให้ดีขึ้น จำกัด การเข้าถึงทั้งหมด.
# บล็อกโฟลเดอร์และไฟล์ทั้งหมดรวมถึง WPRewriteEngine บน RewriteBase / RewriteRule ^ wp-admin / ประกอบด้วย / - [F, L] RewriteRule! ^ wp- รวม / - [S = 3] RewriteRule ^ wp- รวม / [^ /] + \. php $ - [F, L] RewriteRule ^ wp- รวม / js / tinymce / langs /.+ \. php - [F, L] RewriteRule ^ wp- รวม / theme-compat / - [F, L]
13. บล็อกสคริปต์ข้ามไซต์ (XSS)
ข้อมูลโค้ดต่อไปนี้มาจาก WP Mix และปกป้องไซต์ของคุณจาก การโจมตี XSS ทั่วไปบางอย่าง, คือการฉีดสคริปต์และพยายามที่จะแก้ไขตัวแปรทั่วโลกและขอ.
# บล็อกการโจมตี XSS บางรายการRewriteCond% QUERY_STRING (\ |% 3E) [NC หรือ OR] RewriteCond% QUERY_STRING GLOBALS (= | \ [| \% [0-9A-Z] 0,2) [หรือ] RewriteCond% QUERY_STRING _REQUEST (= | \ [| \% [0-9A-Z] 0,2) RewriteRule. * index.php [F, L]
14. เปิดใช้งานการแคชเบราว์เซอร์
ดังที่ฉันได้กล่าวไว้ก่อนหน้านี้. htaccess ไม่เพียง แต่ดีสำหรับเหตุผลด้านความปลอดภัยและการเปลี่ยนเส้นทาง แต่ยังสามารถช่วยคุณได้ จัดการแคช. ข้อมูลโค้ดด้านล่างมาจากชุดรูปแบบที่หรูหราและมัน ทำให้การแคชเบราว์เซอร์เป็นไปได้ โดยทำให้ผู้เข้าชม บันทึกไฟล์บางประเภท, ดังนั้นในครั้งต่อไปที่พวกเขาเยี่ยมชมพวกเขาไม่จำเป็นต้องดาวน์โหลดอีกครั้ง.
# เปิดใช้งานการแคชเบราว์เซอร์ExpiresActive On ExpiresByType image / jpg "access 1 ปี" ExpiresByType image / jpeg "access 1 ปี" ExpiresByType image / gif "access 1 ปี" ExpiresByType image / png "access 1 ปี" ExpiresByType image / png "การเข้าถึง 1 ปี" pdf "เข้าถึง 1 เดือน" ExpiresByType ข้อความ / x-javascript "เข้าถึง 1 เดือน" แอปพลิเคชัน ExpiresByType / x-shockwave-flash "เข้าถึง 1 เดือน" รูปภาพ ExpiresByType / x-icon "เข้าถึง 1 ปี" ExpiresDefault "เข้าถึง 2 วัน"
15. ตั้งค่าหน้าข้อผิดพลาดที่กำหนดเอง
คุณสามารถใช้. htaccess เพื่อตั้งค่าหน้าข้อผิดพลาดที่กำหนดเองบนไซต์ WordPress ของคุณ สำหรับวิธีการทำงานนี้คุณต้อง สร้างหน้าข้อผิดพลาดที่กำหนดเอง (ที่กำหนดเอง 403.html
, ที่กำหนดเอง 404.html
ในตัวอย่าง) และ อัปโหลดพวกเขา ไปยังโฟลเดอร์รูทของคุณ.
คุณสามารถตั้งค่าหน้าข้อผิดพลาดที่กำหนดเองสำหรับ รหัสสถานะ HTTP ข้อผิดพลาดใด ๆ (รหัสสถานะ 4XX และ 5XX) ที่คุณต้องการ.
# ตั้งค่าหน้าแสดงข้อผิดพลาดที่กำหนดเอง ErrorDocument 403 /custom-403.html ErrorDocument 404 /custom-404.html