php如何禁止盜鏈
php禁止盜鏈的方法:先在網站的公開檔案裡定義一個「$key=sdkfjwojf32413」;然後在下載頁產生一個隨機數;接著產生一個md5加密字串;最後產生軟體的真實下載地址,並把certcode儲存到session裡即可。
推薦:《PHP影片教學》
#盜鍊是指服務提供者本身不提供服務的內容,透過技術手段繞過其它有利益的最終用戶介面(如廣告),直接在自己的網站上向最終用戶提供其它服務提供者的服務內容,騙取最終用戶的瀏覽和點擊率。受益者不提供資源或提供很少的資源,而真正的服務提供者卻得不到任何的利益。做好防止盜鏈的工作,是每個網站開發者的重要工作。
做好防盜鏈工作能為網站伺服器減少不少壓力,這裡我們分享一種php防盜鏈的實作方法:
一般的下載的步驟:查找->輸出查找結果清單->進入軟體詳細頁->點選下載按鈕->開啟下載頁->點選下載,開始下載
我的方法就是在下載頁面做文章
首先在網站的公共文件裡定義一個$key=sdkfjwojf32413這相當於一個金鑰一樣
在下載頁產生一個隨機數:$certcode = '84615354' (每次開啟產生的都不一樣)
然後用以上兩個變數和軟體的ID產生一個md5()加密字串
然後產生軟體的真實下載位址:file.php?id =5&codekey=ksfjwofsdkfsf
這裡的id是軟體的編號可以根據他從資料庫找到軟體位址$codekey=md5($id.$certcode.$key)
然後把certcode儲存到session裡,
在file.php的參數裡面得到的codekey和id再從公共文件裡得到$key 再從session裡得到$certcode
對codekey進麼驗證,看是否正確,如果不正確就退出,否則就進行如下操作
1、刪除session(再次開啟這個位址就無效了)
2、從資料庫裡讀取軟體位址,然後讀取軟體內容,並且輸出(用PHP的文件讀取方法輸出要下載的軟體內容而不是直接把地址給他下載)
這樣如果要下載,就必須打開你自己的下載頁面,從你的下載頁面打開地址才能進行下載,而且下載地址每次都不一樣,因為生成的隨機數字不一樣
別的地方就算連到你的下載地址,也是下載不了的。
拓展閱讀(具體實現):
1.簡單防盜鏈
$ADMIN[defaulturl] = "http://www.vvschool.cn/404.htm";//盗链返回的地址 $okaysites = array("http://www.vvschool.cn/","http://www.siyizhu.com"); //白名单 $ADMIN[url_1] = "http://www.vvschool.cn/temp/download/";//下载地点1 $ADMIN[url_2] = "";//下载地点2,以此类推 $reffer = $HTTP_REFERER; if($reffer) { $yes = 0; while(list($domain, $subarray) = each($okaysites)) { if (ereg($subarray,"$reffer")) { $yes = 1; } } $theu = "url"."_"."$site"; if ($ADMIN[$theu] AND $yes == 1) { header("Location: $ADMIN[$theu]/$file"); } else { header("Location: $ADMIN[defaulturl]"); } } else { header("Location: $ADMIN[defaulturl]"); }
檔案名稱?site=1&file=檔案使用方法:將上述程式碼保存為dao4.php,例如我測試用的validatecode.rar在我的網站裡面,則用以下程式碼表示下載連接.
2.伺服器防盜鏈
#3.軟體下載的防盜鏈方法
//放置下载软件的根目录相对于当前脚本目录的相对目录 $fileRelPath= "../../software"; //例外允许连接的网址,注意:自身域名不需要填入,设定为肯定可以下载, // 空字符串("")表示直接输入网址下载的情况 $excludeReferArr= array("www.wreny.com","wreny.com"); chdir($fileRelPath); $fileRootPath= getcwd() ."/"; $filePath=$HTTP_GET_VARS["file"]; $url=parse_url($_SERVER["HTTP_REFERER"]); if($url[host]!=$_SERVER["HTTP_HOST"] && !in_array($referHost,$excludeReferArr)){
(1)IIS 反盜鏈, 利用ISAPI_Rewrite,可作為Windows下反盜鏈的一個解決方案;其實,反盜鏈方式也有不少, 這裡只列出一個大概思想作為參考:
(2) 圖片反盜鏈,在圖片中加入水印,雖然盜鏈者可以達到目的,但是卻也在為自己的網站做宣傳。
以上就是PHP防盜鏈的基本想法與設定方法,希望對大家的學習有幫助。
以上是php如何禁止盜鏈的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。
