[php]referer應用--http防盜鏈技術

風痕影默發表於2014-12-13

1、防盜鏈的理解

所謂防盜鏈是防止其他的網站引用自己網站的資源連線,比如圖片、視訊等等,但是並不會阻礙從自己網站上享受資源的使用者,這就要求能夠將其他網站的連線請求阻止

2、防盜鏈的原理

其實從自己網站使用資源的時候不是由瀏覽器直接請求資源的,肯定是通過在自己網站上點選,然後從這個頁面跳轉到資源,無論怎麼樣,使用者是通過自己的網站頁面作為中介來訪問資源,就類似通過類中定義的方法來訪問受保護的變數一樣,因此在發向伺服器的http請求中就有一個欄位為referer用來表明來源於何處,假如是從自己網站發出的就放行,否則就禁止,因此達到防盜鏈的目的。

3、程式碼:

<?php

    $str = $_SERVER['HTTP_REFERER'];//$_SERVER可以提取http協議請求
    echo $str."<br/>";
    if(strpos($str, "http://localhost")===0)//strpos用於判斷某字串在另一字串中的位置
        echo "permit";
    else
        echo "no permit!";
    
?>

 

相關文章