10 ข้อมูลโค้ดและแฮ็ก htaccess ที่มีประโยชน์

เผยแพร่แล้ว: 2020-09-10

.htaccess เป็นไฟล์เดียวที่ผู้ดูแลเว็บทุกคนควรรู้และเข้าใจ ในระดับพื้นฐาน จะควบคุมการเข้าถึงไดเรกทอรีของไซต์ของคุณ แต่มีมากกว่าที่คุณสามารถทำได้ เนื่องจากตัวอย่างในโพสต์นี้จะแสดงให้คุณเห็น

หากคุณต้องการเรียนรู้พื้นฐานของ . .htaccess คุณควรตรวจสอบบทความ Introduction to .htaccess ของเรา ซึ่งจะอธิบายทุกอย่างที่คุณจำเป็นต้องใช้ในการเริ่มต้นใช้งาน

คุณอาจชอบ WordPress SQL Query Snippets ที่มีประโยชน์เหล่านี้ หรือ snippets เหล่านี้ที่ทำให้ WordPress ใช้งานง่ายสำหรับลูกค้าของคุณ

1. การควบคุมการเข้าถึงไฟล์และไดเรกทอรี

การป้องกันด้วยรหัสผ่านเป็นสิ่งหนึ่ง แต่บางครั้ง คุณอาจต้องบล็อกผู้ใช้ทั้งหมดไม่ให้มีตัวเลือกในการเข้าถึงไฟล์หรือไดเรกทอรีเฉพาะ ซึ่งมักจะเกิดขึ้นกับโฟลเดอร์ระบบ เช่น โฟลเดอร์ includes ซึ่งแอปพลิเคชันจะต้องเข้าถึง แต่ผู้ใช้ไม่จำเป็นต้องมีสิทธิ์

ในการดำเนินการนี้ ให้วางโค้ดนี้ลงในไฟล์ . .htaccess แล้ววางลงในไดเร็กทอรี:

อย่างไรก็ตาม การดำเนินการนี้จะบล็อกการเข้าถึงของทุกคน รวมถึงคุณด้วย ในการให้สิทธิ์การเข้าถึง คุณต้องระบุที่อยู่ IP ของคุณ นี่คือรหัส:

xxx.xxx.xxx.xxx คือ IP ของคุณ ตัวอย่างเช่น หากคุณแทนที่ตัวเลขสามหลักสุดท้ายด้วย 0/12 จะเป็นการระบุช่วงของ IP ภายในเครือข่ายเดียวกัน ซึ่งจะช่วยประหยัดปัญหาในการแสดงรายการ IP ที่อนุญาตทั้งหมดแยกกัน

หากคุณต้องการบล็อกการเข้าถึงไฟล์ใดไฟล์หนึ่ง รวมถึง . .htaccess ด้วย ให้ใช้ข้อมูลโค้ดต่อไปนี้แทน:

ในทำนองเดียวกัน หากคุณต้องการอนุญาต IP ที่กำหนด ให้ระบุรายการด้วย allow from .

หากคุณต้องการบล็อกการเข้าถึงไฟล์บางประเภท ให้ใช้สิ่งนี้แทน:

2. ปิดการใช้งานการเรียกดูไดเรกทอรี

เพื่อป้องกันการเรียกดูไดเร็กทอรี ให้เพิ่มสิ่งนี้:

อย่างไรก็ตาม หากคุณต้องการเปิดใช้งานการเรียกดูไดเรกทอรีด้วยเหตุผลบางประการ ให้เปลี่ยนเป็นดังต่อไปนี้:

3. เร่งความเร็วในการโหลดโดยการบีบอัดไฟล์

คุณสามารถบีบอัดไฟล์ประเภทใดก็ได้ ไม่ใช่แค่รูปภาพ ตัวอย่างเช่น ในการบีบอัดไฟล์ HTML ให้ใช้สิ่งนี้:

ในการบีบอัดไฟล์ TEXT ให้ใช้สิ่งนี้:

คุณยังสามารถบีบอัด JavaScript หรือเพิ่มการบีบอัดไฟล์หลายประเภทด้วยคำสั่งเดียว:

หรือหากคุณต้องการบีบอัดไฟล์ JavaScript, HTML และ CSS ทั้งหมดด้วย GZIP คุณสามารถใช้สิ่งนี้:

4. ปกป้องไซต์ของคุณจาก Hotlinking

หากคุณไม่ต้องการให้รูปภาพของคุณฮอตลิงก์ ให้เพิ่มสิ่งนี้ในไฟล์ . .htaccess ของคุณ:

เพียงแทนที่ yourdomain.com ด้วยโดเมนของคุณเอง คุณก็พร้อมแล้ว

5. การบล็อกผู้เยี่ยมชมที่อ้างอิงจากโดเมนเฉพาะ

หากคุณมีผู้ใช้จากโดเมนใดโดเมนหนึ่งที่คุณไม่ยินดีต้อนรับ คุณสามารถแบนพวกเขาจากไซต์ของคุณได้ ตัวอย่างเช่น หากไซต์ของคุณอยู่ในตำแหน่งที่คุณไม่ต้องการให้มีการเข้าชม (เช่น ไซต์สำหรับผู้ใหญ่ ไซต์ blackhat ฯลฯ) คุณสามารถให้บริการไซต์เหล่านั้นด้วยหน้าต้องห้าม 403 หน้า คุณต้องเปิดใช้งาน mod_rewrite แต่คุณควรจะใช้ได้เพราะโดยปกติเปิดอยู่ เพิ่มข้อมูลโค้ดนี้:

คุณต้องแทนที่ bannedurl1.com และ bannedurl2.com เป็นต้น ด้วยชื่อโดเมนที่คุณต้องการให้ขึ้นบัญชีดำ คุณอาจต้องการใช้แฟล็ก [NC] เนื่องจากเป็นการระบุว่าชื่อโดเมนที่คุณป้อนไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ แฟล็ก [F] ระบุการดำเนินการที่ต้องทำ - ในกรณีนี้เพื่อแสดงข้อผิดพลาดที่ต้องห้าม 403 หากคุณต้องการแบนหลายไซต์ ให้ใช้แฟล็ก [NC,OR] สำหรับทุกโดเมนยกเว้นโดเมนสุดท้าย และหากคุณต้องการแบนโดเมนเดียว ให้ใช้แฟล็ก [NC] เท่านั้น

6. การบล็อกคำขอจากตัวแทนผู้ใช้เฉพาะ

หากไฟล์บันทึกของคุณแสดงตัวแทนผู้ใช้เฉพาะ (บอทหรือสไปเดอร์) คุณสามารถเพิ่มสองสามบรรทัดใน .htaccess และปฏิเสธไม่ให้เข้าถึงไซต์ของคุณ:

แทนที่ badbot1 , badbot1 ฯลฯ ด้วยชื่อของบอทจากไฟล์บันทึกของคุณ สิ่งนี้ควรทำให้โปรแกรมดังกล่าวอยู่ห่างจากไซต์ของคุณ

7. แคชไฟล์

อีกวิธีหนึ่งในการเร่งความเร็วในการโหลดไซต์ของคุณคือการแคชไฟล์ นี่คือสิ่งที่คุณต้องเพิ่มเพื่อแคชไฟล์:

คุณสามารถเพิ่มประเภทไฟล์เพิ่มเติม (หรือลบบางประเภท) ไปยังลำดับของไฟล์ที่แสดงในตัวอย่างนี้ ทำในสิ่งที่เหมาะกับคุณ คุณยังสามารถใช้ max-age เพื่อระบุระยะเวลาเป็นวินาทีที่ไฟล์ของคุณจะอยู่ในแคช

8. การปิดใช้งานการแคชสำหรับไฟล์บางประเภท

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

เพียงไพพ์ไฟล์ที่คุณต้องการปิดใช้งานการแคช เท่านี้ก็เรียบร้อย

9. ข้ามกล่องโต้ตอบดาวน์โหลด

ตามค่าเริ่มต้น เมื่อคุณพยายามดาวน์โหลดไฟล์จากเว็บเซิร์ฟเวอร์ คุณจะได้รับกล่องโต้ตอบที่ถามว่าคุณต้องการบันทึกไฟล์หรือเปิดไฟล์นั้น บทสนทนานี้สร้างความรำคาญให้กับไฟล์สื่อขนาดใหญ่หรือ PDF หากไฟล์ที่คุณอัปโหลดไปยังเซิร์ฟเวอร์ของคุณมีไว้สำหรับดาวน์โหลด คุณสามารถบันทึกปัญหาให้ผู้ใช้และดำเนินการดาวน์โหลดโดยตรง นี่คือสิ่งที่คุณต้องตั้งค่าใน . .htaccess :

10. การเปลี่ยนชื่อไฟล์ .htaccess

หากคุณต้องการเปลี่ยนชื่อไฟล์ . .htaccess ด้วยเหตุผลบางประการ ซึ่งส่วนใหญ่เกี่ยวข้องกับการรักษาความปลอดภัย ทำได้ง่ายมาก ตามทฤษฎีแล้ว การเปลี่ยนชื่อไฟล์ . .htaccess ไม่ควรทำให้เกิดปัญหากับแอปพลิเคชันที่ทำงานบนเซิร์ฟเวอร์ของคุณ แต่ถ้าบังเอิญคุณสังเกตเห็นปัญหาดังกล่าวหลังจากที่คุณเปลี่ยนชื่อไฟล์ ให้เปลี่ยนชื่อไฟล์กลับเป็นชื่อเดิม

คุณต้องอัปเดตรายการใด ๆ ในไฟล์เองหรือทุกที่ที่มีการกล่าวถึง . .htaccess มิฉะนั้น คุณจะได้รับข้อผิดพลาดมากมาย

11. การเปลี่ยนหน้าดัชนีเริ่มต้น

หากคุณต้องการให้หน้าดัชนีของคุณแตกต่างจากค่าเริ่มต้น index.html , index.php , index.htm ฯลฯ สามารถทำได้ง่ายมาก นี่คือสิ่งที่คุณต้องเพิ่มใน .htaccess :

แทนที่ mypage.html ด้วย URL จริงของหน้าที่คุณต้องการใช้เป็นดัชนี เท่านี้ก็เสร็จเรียบร้อย

12. การเปลี่ยนเส้นทางไปยังการเชื่อมต่อ https ที่ปลอดภัย

หากคุณกำลังใช้ HTTPS และต้องการเปลี่ยนเส้นทางผู้ใช้ไปยังหน้าที่ปลอดภัยของไซต์ของคุณ ให้ใช้สิ่งนี้:

13. การจำกัดการอัปโหลดไฟล์ใน PHP ขนาดสูงสุดของข้อมูลโพสต์ เวลาดำเนินการสคริปต์สูงสุด ฯลฯ

.htaccess ให้คุณตั้งค่าบางอย่างที่ส่งผลโดยตรงต่อแอปพลิเคชัน PHP ของคุณ ตัวอย่างเช่น หากคุณต้องการกำหนดขีดจำกัดการอัปโหลดใน PHP เพื่อไม่ให้พื้นที่โฮสต์หมดเนื่องจากไฟล์ขนาดใหญ่ ให้ใช้สิ่งนี้:

แน่นอน คุณสามารถตั้งค่าเป็นอะไรก็ได้ที่คุณเห็นว่าเหมาะสม – 15 ล้าน (MB) ในตัวอย่างนี้ไม่ตายตัว คุณยังสามารถจำกัดขนาดโพสต์สูงสุดสำหรับการอัปโหลดใน PHP โดยเพิ่มสิ่งนี้:

ในทำนองเดียวกัน คุณสามารถเปลี่ยน 10M เป็นค่าใดก็ได้ที่เหมาะกับคุณ หากคุณไม่ต้องการให้สคริปต์ทำงานตลอดไป คุณสามารถจำกัดเวลาดำเนินการได้โดยใช้สิ่งต่อไปนี้:

240 คือจำนวนวินาทีก่อนที่สคริปต์จะถูกยกเลิก และตามที่คุณเดา อาจเป็นค่าใดก็ได้ สุดท้าย หากคุณต้องการจำกัดเวลาที่สคริปต์สามารถแยกวิเคราะห์ข้อมูลที่ป้อน ให้ใช้สิ่งนี้:

และตั้งค่าเป็นวินาทีที่เหมาะกับคุณ

14. การปลอมแปลงประเภทไฟล์

บางครั้ง คุณไม่ต้องการให้ผู้ใช้ทราบประเภทไฟล์ของไฟล์ในไซต์ของคุณ วิธีหนึ่งในการซ่อนข้อมูลนี้คือถ้าคุณปลอมแปลงข้อมูลเหล่านี้ ตัวอย่างเช่น คุณสามารถทำให้ไฟล์ทั้งหมดของคุณดูเหมือนไฟล์ HTML หรือ PHP:

มีอะไรอีกมากมายที่สามารถทำได้ด้วย . .htaccess ตัวอย่างเช่น คุณสามารถตั้งค่าการแปลอัตโนมัติสำหรับหน้าเว็บไซต์ของคุณ หรือตั้งค่าเขตเวลาของเซิร์ฟเวอร์ หรือลบ www ออกจาก URL หรือใช้รายการไดเรกทอรีแฟนซี ฯลฯ ไม่ว่าในกรณีใด ก่อนที่คุณจะเริ่มการทดลองกับ . .htaccess ให้สำรองข้อมูลต้นฉบับเสมอ .htaccess ดังนั้นหากสิ่งต่าง ๆ ไม่เป็นไปตามแผนที่วางไว้ คุณมีสำเนาการทำงานที่ต้องเปลี่ยนกลับเป็น