วิธีป้องกัน Hotlink ของรูปภาพใน WordPress

เผยแพร่แล้ว: 2018-12-12

“ฉันควรเก็บหรือลบลิงก์รูปภาพใน WordPress หรือไม่” นี่เป็นคำถามที่สามารถถกเถียงกันเป็นเวลานาน

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

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

ป้องกัน Hotlink ของรูปภาพใน WordPress

รูปภาพ Hotlinking คืออะไร?

Hotlinking หรือที่เรียกว่า "การโจรกรรมแบนด์วิดธ์" เป็นแนวทางปฏิบัติที่ไม่เหมาะสมซึ่งดำเนินการโดยบุคคลที่สร้างลิงก์โดยตรงไปยังเนื้อหา (รูปภาพ วิดีโอ) ที่โฮสต์บนเซิร์ฟเวอร์อื่นเพื่อใช้ทรัพยากรในการคำนวณและแบนด์วิดท์

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

Hotlinking ทำงานอย่างไร?

คุณต้องกลับไปที่โค้ด HTML เพื่อทำความเข้าใจก่อนว่ารูปภาพแสดงบนหน้าเว็บอย่างไร

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

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

รหัส HTML ของเซิร์ฟเวอร์ A เว็บไซต์:

<img src="/image.jpg" alt="คำอธิบาย" />

เว็บไซต์ดำเนินการลิงก์ด่วนจึงดำเนินการได้ง่ายๆ โดยใช้แอตทริบิวต์ src (ซึ่งหมายถึงแหล่งที่มา) ของแท็กรูปภาพ ซึ่งเป็นที่อยู่โดยตรงของรูปภาพของคุณ

นี่คือสิ่งที่เรามักจะทำ เช่น เมื่อเราแสดงภาพของเราจากเว็บไซต์ของเราเอง

รหัส HTML ของเว็บไซต์เซิร์ฟเวอร์ B:

<img src=”http://www.yourdomain.com/image.jpg” alt=”คำอธิบาย” />

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

จะตรวจจับ Hotlinking ได้อย่างไร?

นี่มันไม่ชัดเจน!

คุณยังสามารถใช้เครื่องมือเช่น TinEye ได้ เป็นส่วนขยายของเบราว์เซอร์เว็บไซต์ซึ่งจะสามารถค้นหาภาพที่คล้ายกับที่คุณระบุได้ มันใช้งานได้ดีมากในขอบเขตของเว็บไซต์ที่ TinEye ทำดัชนีและต้องตรวจสอบภาพทั้งหมดของคุณด้วยมือ!

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

โดยหลักการแล้ว ไฟล์ . htaccess ของเซิร์ฟเวอร์ Apache มีหน้าที่ในการสกัดกั้นรูปภาพก่อนที่จะแสดง

วิธีป้องกัน Hotlinking ใน WordPress โดยใช้ .htaccess

มาดูกันว่าคุณจะป้องกันฮอตลิงค์ใน WordPress ได้อย่างไรโดยแทรกสองสามบรรทัดในไฟล์ . htaccess ในโฟลเดอร์รูทของเอกสาร

ลงชื่อเข้าใช้แพลตฟอร์มโฮสติ้ง ของคุณ ใช้ข้อมูลรับรองการเข้าสู่ระบบของคุณในซอฟต์แวร์ FTP (ฉันใช้ Filezilla) ไปที่ /public_html/ → และเข้าถึง ไฟล์ . htaccess ของคุณ

ลองนึกภาพผลกระทบที่พฤติกรรมประเภทนี้สามารถเกิดขึ้นได้หากรูปภาพของคุณหลายภาพแสดงบนฟอรัมที่มีการเข้าชมสูงมาก

เชื่อมต่อกับ FTP

ขั้นแรก คุณต้อง ดู/แก้ไข (หรือสร้าง) ไฟล์ .htaccess ภายในไดเร็กทอรีรากของเว็บไซต์ของคุณ

Connect to FTP 2

เมื่อเปิดไฟล์แล้ว ให้วางบรรทัดต่อไปนี้ในตอนท้ายและบันทึกไฟล์:


RewriteEngine บน
RewriteCond "%{HTTP_REFERER}" "!^$"
RewriteCond "%{HTTP_REFERER}" "!www.yourdomain.com" [NC]
RewriteRule "\.(jpg|jpeg|png|gif|svg)$" "-" [F,NC]

หมายเหตุ: อย่าลืมแทนที่ yourdomain.com ด้วยชื่อและนามสกุลของเว็บไซต์ของคุณ

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

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

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

ใช้ปลั๊กอินเพื่อหลีกเลี่ยงการเชื่อมโยงร้อน

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

1. ความปลอดภัยของ iThemes

ปลั๊กอินความปลอดภัย iTheme

iThemes Security แก้ไขช่องโหว่ทั่วไป หยุดการโจมตีอัตโนมัติ และรักษาความปลอดภัยข้อมูลประจำตัว ปลั๊กอินมีระบบสแกนมัลแวร์ เช่นเดียวกับความสามารถในการติดตามผู้ใช้ที่ทำการเปลี่ยนแปลงเนื้อหา ตลอดจนการเชื่อมต่อและการตัดการเชื่อมต่อ คุณสมบัติอื่นๆ มากมายช่วยให้คุณรักษาความปลอดภัยให้กับเว็บไซต์ของคุณ

ห่อ!

หากต้องการดูว่าคุณได้บล็อกฮอตลิงก์ผ่าน . htaccess หรือปลั๊กอินหรือไม่ ให้ทดสอบเว็บไซต์ของคุณบน altlab.com ซึ่งคุณจะต้องป้อนที่อยู่ของรูปภาพ หากไม่ปรากฏหรือภาพที่คุณเลือกปรากฏขึ้น Anti-hotlink จะทำงาน

คุณรู้วิธีอื่นในการลบลิงก์ออกจากรูปภาพ WordPress หรือไม่? ถ้าเป็นเช่นนั้นโปรดแบ่งปันวิธีการของคุณในความคิดเห็นด้านล่าง

*นี่คือแขกโพสต์โดย Saud Razzak จาก Cloudways

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