ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

วิธีการป้องกัน Hotlink (ฮอตลิ้ง) ด้วยการกำหนดค่าในไฟล์ .htaccess (ดอทแฮชทีแอคเซส)

ภาพประกอบบทความเกี่ยวกับการตั้งค่าป้องกัน Hotlink ในไฟล์ .htaccess
ภาพประกอบบทความเกี่ยวกับการตั้งค่าป้องกัน Hotlink ในไฟล์ .htaccess

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

ตัวอย่างการใช้งานไฟล์ .htaccess

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://demo.com.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.demo.com.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://demo.com:80.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.demo.com:80.*$ [NC]
RewriteRule .*[Jj][Pp][Gg]$|.*[Gg][Ii][Ff]$|.*[Pp][Nn][Gg]$ http://www.demo.com/hotlink.html

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

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

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

            เมื่อเราทำการตั้งค่าเสร็จเรียบร้อยแล้ว ให้นำไฟล์ .htaccess วางไว้ใน Directory ที่เราต้องการจะป้องกัน Link (ลิ้งค์) ไฟล์ภาพ, วีดีโอ นั้นด้วย

Reference: "การแปลง URL โดยใช้ Mod_Rewrite". "การแปลง URL โดยใช้ Mod_Rewrite" [ออนไลน์]. เข้าถึงได้จาก https://www.picohosting.com/howto/hotlink-protection
Reference: "How To Use Mod_rewrite For URL Rewriting In Apache". "How To Use Mod_rewrite For URL Rewriting In Apache" [ออนไลน์]. เข้าถึงได้จาก https://websetnet.com/auto-draft-11/
Refernece: "Apache Module mod_rewrite". "Apache Module mod_rewrite"[ออนไลน์]. เข้าถึงได้จาก http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

 ภาพประกอบบทความ https://www.atulhost.com/hotlink-protection-nginx

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
os.mkdir ฟังก์ชั่นสำหรับการสร้าง folder ใหม่
โดย benzas00123 ศ 24 ม.ค. 2020 6:44 pm บอร์ด Python Knowledge
0
5
ศ 24 ม.ค. 2020 6:44 pm โดย benzas00123
upload รูปภาพหลายๆรูป ด้วย Flask
โดย benzas00123 ศ 24 ม.ค. 2020 6:31 pm บอร์ด Python Knowledge
0
5
ศ 24 ม.ค. 2020 6:31 pm โดย benzas00123
มาแล้ว MDPartner Component สำหรับจัดเก็บข้อมูลลูกค้าในระบบ CRM
โดย prmindphp ศ 24 ม.ค. 2020 6:02 pm บอร์ด MindPHP News & Feedback
0
22
ศ 24 ม.ค. 2020 6:02 pm โดย prmindphp
os.remove ฟังก์ชั่นสำหรับการลบไฟล์
โดย benzas00123 ศ 24 ม.ค. 2020 5:35 pm บอร์ด Python Knowledge
0
6
ศ 24 ม.ค. 2020 5:35 pm โดย benzas00123
ขอสอบถามวิธีการดึงข้อมูลมาลงใน table ที่เราต้องการหน่อยครับ
โดย benzas00123 ศ 24 ม.ค. 2020 2:06 pm บอร์ด Programming - C/C++ & java & Python
1
13
ศ 24 ม.ค. 2020 2:14 pm โดย benzas00123
ลูกไม่รักดี?
โดย noppadonsk ศ 24 ม.ค. 2020 10:40 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
14
ศ 24 ม.ค. 2020 10:40 am โดย noppadonsk
วิธีการแปลง timestamp เพื่อหาจำนวนวันที่ผ่านมาหรือคงเหลือ
โดย Ittichai_chupol พ 22 ม.ค. 2020 6:37 pm บอร์ด PHP Knowledge
0
43
พ 22 ม.ค. 2020 6:37 pm โดย Ittichai_chupol
วิธีการตรวจสอบว่ารูปเป็นแนวตั้งหรือแนวนอน ด้วยภาษา php
โดย jamepiyawat พ 22 ม.ค. 2020 6:16 pm บอร์ด PHP Knowledge
0
27
พ 22 ม.ค. 2020 6:16 pm โดย jamepiyawat
Range Sliders เก็บค่าตัวเลขด้วย range sliders
โดย benzas00123 พ 22 ม.ค. 2020 5:50 pm บอร์ด Booststap Knowledge
1
66
ศ 24 ม.ค. 2020 9:32 am โดย LEG
อยากทราบวิธีการตรวจสอบว่าจะมีเวลาอีกกี่วันถึงจะ ถึงเลข timestamp ที่กำหนด
โดย Ittichai_chupol พ 22 ม.ค. 2020 3:54 pm บอร์ด Programming - PHP
1
85
พ 22 ม.ค. 2020 4:18 pm โดย thatsawan
ขอสอบถามวิธีการเขียน bootstrap 3 ในการสร้าง bar ครับ
โดย benzas00123 พ 22 ม.ค. 2020 3:13 pm บอร์ด HTML CSS
5
128
พ 22 ม.ค. 2020 3:32 pm โดย benzas00123
วันหยุดที่หายไป
โดย noppadonsk พ 22 ม.ค. 2020 11:42 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
34
พ 22 ม.ค. 2020 11:42 am โดย noppadonsk
วิธีการปรับการการแสดงการ รายชื่อของแจ้งเตือน bookmark โดย phpbb
โดย Ittichai_chupol อ 21 ม.ค. 2020 5:45 pm บอร์ด PHP Knowledge
0
27
อ 21 ม.ค. 2020 5:45 pm โดย Ittichai_chupol
pillow vs wand library ความแตกต่างของ library ทั้ง 2 ตัวในการ procress รูปภาพ
โดย benzas00123 อ 21 ม.ค. 2020 5:29 pm บอร์ด Python Knowledge
1
27
อ 21 ม.ค. 2020 5:54 pm โดย mindphp
อยู่ดีๆ ก็ไม่สามารถเชื่อมต่อกับ database ได้ครับ
โดย benzas00123 อ 21 ม.ค. 2020 4:46 pm บอร์ด Programming - C/C++ & java & Python
5
70
อ 21 ม.ค. 2020 5:39 pm โดย benzas00123
ขอถามเกี่ยวกับ library ImageMagick ครับ
โดย benzas00123 อ 21 ม.ค. 2020 3:29 pm บอร์ด Programming - C/C++ & java & Python
2
34
อ 21 ม.ค. 2020 4:23 pm โดย benzas00123
Git Lad จะทำอย่างไรให้ไฟล์ที่อยู่ในโฟร์ย่อย ออกมาครับ
โดย jamepiyawat อ 21 ม.ค. 2020 12:08 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
149
อ 21 ม.ค. 2020 2:04 pm โดย jamepiyawat
ขอทราบวิธีการเขียน python เก็บข้อมูล ip ของผู้ใช้หน่อยครับ
โดย benzas00123 อ 21 ม.ค. 2020 10:54 am บอร์ด Programming - C/C++ & java & Python
1
114
อ 21 ม.ค. 2020 12:20 pm โดย mindphp
ขอสอบถามเกี่ยวกับการอัพโหลดรูปภาพเข้า ฐานข้อมูลครับ
โดย benzas00123 จ 20 ม.ค. 2020 6:29 pm บอร์ด SQL - Database
3
90
อ 21 ม.ค. 2020 2:00 pm โดย mindphp
โปรแกรมแปลงหน่วย เครื่องมือในการแปลงหน่วยความจุคอมพิวเตอร์
โดย prmindphp จ 20 ม.ค. 2020 6:24 pm บอร์ด MindPHP News & Feedback
0
69
จ 20 ม.ค. 2020 6:24 pm โดย prmindphp