1. สมมติว่าชื่อโดเมนโฮสต์ที่อนุญาตให้ลิงก์ไปยังรูปภาพคือ: www.test.com
2. แก้ไข httpd.conf
SetEnvIfNoCase Referer "^http://www.test.com/" local_ref=1
<FilesMatch ".(gif|jpg)">
คำสั่งอนุญาต ปฏิเสธ
อนุญาตจาก env=local_ref
</FilesMatch>
แอปพลิเคชั่นที่เรียบง่ายนี้ไม่เพียงแต่สามารถแก้ปัญหาฮอตลิงค์รูปภาพได้เท่านั้น แต่การปรับเปลี่ยนเล็กน้อยยังสามารถป้องกันปัญหาฮอตลิงค์ไฟล์ใด ๆ ได้อีกด้วย
เมื่อใช้วิธีการข้างต้นเพื่อเชื่อมโยงรูปภาพจากโฮสต์ที่ไม่ระบุ รูปภาพจะไม่ปรากฏ หากคุณต้องการแสดงรูปภาพ "ห้ามใช้ฮอตลิงก์" เราสามารถใช้ mod_rewrite เพื่อให้บรรลุเป้าหมายนี้ได้
ขั้นแรก เมื่อติดตั้ง apache ให้เพิ่มพารามิเตอร์ --enable-rewrite เพื่อโหลดโมดูล mod_rewrite
สมมติว่ารูปภาพ "ห้ามใช้ฮอตลิงก์" คือ abc.gif เราสามารถกำหนดค่าได้ใน httpd.conf ดังนี้:
RewriteEngine on
เขียนใหม่ %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://( www.)?test.com /.*$ [NC]
RewriteRule .(gif|jpg)$ http://www.163.com/404.htm";// ที่อยู่ส่งคืนโดยฮอตลิงก์
$okaysites = array(" http://www.163.com/","http://163.com "); //Whitelist
$ADMIN[url_1] = " http://www.163.com/download/";// ตำแหน่งดาวน์โหลด 1
$ADMIN[url_2] = "";//ดาวน์โหลดตำแหน่ง 2 และอื่นๆ
$ผู้อ้างอิง = $HTTP_REFERER;
ถ้า($อ้างอิง) {
$ใช่ = 0;
ในขณะที่(รายการ($โดเมน, $subarray) = แต่ละ($okaysites)) {
ถ้า (ereg($subarray,"$reffer")) {
$ใช่ = 1;
-
-
$theu = "url"."_"."$site";
ถ้า ($ADMIN[$theu] และ $ใช่ == 1) {
header("ตำแหน่ง: $ADMIN[$theu]/$file");
} อื่น {
header("ตำแหน่ง: $ADMIN[defaulturl]");
-
} อื่น {
header("ตำแหน่ง: $ADMIN[defaulturl]");
-
?>
การใช้งาน: บันทึกโค้ดด้านบนเป็น dao4.php