ป้องกันเว็บอื่นดึงรูปไปใช้ ด้วย Hotlink Protection

Hotlink Protection คือการป้องกันไม่ให้เว็บอื่นๆ สามารถนำไฟล์ (โดยเฉพาะไฟล์รูปภาพ) บนเว็บไซต์ของเราไปแสดงบนเว็บไซต์อื่นได้ ซึ่งการที่เราถูกดึงรูปไปใช้งานแล้วไม่เพียงแต่จะเสียแรงที่เราไปถ่ายรูปนั้น retouch รูปนั้น หรือตัดต่อรูปนั้นมา แต่คนอื่นแอบเอาไปใช้ซัเฉยๆ แถมเรายังเสียทรัพยากร Bandwidth และการประมวลผลของ Server ส่งรูปภาพไปแสดงบนเว็บไซต์ของผู้ที่เอาไปอีก การกระทำแบบนี้ถือว่า webmsater ผิดมารยาทในการทำเว็บมากๆ ครับ เราจึงมาทำการป้องกันกันได้โดยการสร้างไฟล์ .htaccess แล้วนำไปไว้ใน Directory เดียวกันกับ ไฟล์ที่ต้องการป้องกัน


ตัวอย่างการใช้งานไฟล์ .htaccess
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://yourdomain.com.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.yourdomain.com.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://yourdomain.com:80.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.yourdomain.com:80.*$ [NC]
RewriteRule .*[Jj][Pp][Gg]$|.*[Gg][Ii][Ff]$|.*[Pp][Nn][Gg]$ http://www.yourdomain.com/hotlink.html


จากตัวอย่างด้านบน เมื่อมีการเรียกไฟล์ *.jpg *.gif *.png Web Server จะตรวจสอบว่า referer ของ browser ที่เรียกไฟล์ดังกล่าว มาจากเว็บใด ถ้า referer ไม่ตรงตามที่เรากำหนดไว้ คือ www.yourdomain.com Web Server จะ redirect คำร้องดังกล่าวไปหาไฟล์ www.yourdomain.com/hotlink.html แทน ในไฟล์ hotlink.html ก็แล้วแต่ว่าเราจะเขียนอะไรลงไป เช่นบอกไปว่าไม่อนุญาติให้ทำ hotlink มาหาไฟล์ดังกล่าวเป็นต้น


RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://yourdomain.com.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.yourdomain.com.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://yourdomain.com:80.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.yourdomain.com:80.*$ [NC]
RewriteRule .*$ http://www.yourdomain.com/hotlink.html


สำหรับตัวอย่างด้านบน Web Server รับคำร้องขอจาก browser เมื่อมีการเรียกไฟล์ *.* และจะตรวจสอบ referer ว่าตรงตามที่เรากำหนดหรือไม่ ถ้าไม่ถูกต้องก็จะ redirect ไปที่ไฟล์ hotlink.html แทน


ข้อควรระวัง
หากท่านต้องการแสดงผลของการป้องกัน hotlink เป็นรูปภาพเช่น hotlink.jpg แทนที่จะใช้ข้อความจาก hotlink.html แบบตัวอย่างด้านบนแทน ให้ตรวจสอบให้แน่ชัดก่อนว่าตำแหน่งรูปภาพ hotlink.jpg นั้นไม่ได้อยู่ในเว็บที่ท่านกำลังจะทำ hotlink protection ไม่เช่นนั้น Web Server จะทำงานแบบ Loop ไม่หยุด

  • 0 Пользователи нашли это полезным
Помог ли вам данный ответ?

Related Articles

การใช้ mod_rewrite เพื่อทำ url ภาษาไทย

เนื่องจาก url เป็นส่วนหนึ่งที่สำคัญต่อการทำ SEO มากๆ ในบางครั้งเมื่อเราต้องการทำ SEO keyword...

การ Block IP ไม่ให้เข้าเว็บไซต์

หากเราพบปัญหามีผู้ไม่ประสงค์ดี ทำการ กลั่นแกล้ง ก่อกวนระบบของเรา เราสามารถ Block IP...

วิธีสร้างหน้า Error 404 และอื่นๆ ในแบบของเราเอง

ก่อนอื่นสร้างไฟล์สำหรับแสดงผลเมื่อเกิด Error ในการเปิด Website ของคุณครับ...

การใช้ mod_rewrite เพื่อทำ url แบบมี WWW และ ไม่มี WWW

ระบบของมีฟังก์ชั้นให้ท่านสามารถเข้าชมเว็บไซต์แบบมี www หรือ ไม่มี www ก็ได้ ยกตัวอย่างเช่น...

วิธีเพิ่ม memory_limit ให้กับ PHP ด้วยไฟล์ .htaccess

memory limit คือ การกำหนดขนาด memory ให้เพียงพอสำหรับการประมวลผลของ script ที่ใช้งาน...

Powered by WHMCompleteSolution