PHP設定images目錄不充許http訪問的方法

2022-10-06 08:51:11 字數 3250 閱讀 1172

防盜煉的技術已經很普遍了,有些**不喜歡自己的被別的**直接複製使用,便使用了防盜煉的技術,這樣別人在直接複製使用**時,便會按照程式的設定不顯示或顯示防盜煉等字樣。

如今的網際網路,採集**非常多,很多**都喜歡盜鏈/盜用別人**的,這樣不僅侵犯網權,還導致被盜鏈的**消耗大量的流量,給伺服器造成比較大的壓力,本文章向大家介紹php如何防止盜用/盜鏈的兩種方法,需要的朋友可以參考一下。

防盜鍊有什麼用? 防止其它**盜用你的,浪費你寶貴的流量。本文章向大家介紹php防止盜用/盜鏈的兩種方法

1.apache重定向方法

2.設定images目錄不充許http訪問

apache伺服器下防止盜鏈的辦法

如果你的**以為主,哪天發現月底沒到流量就快用光了,那就可以利用轉向,在不修改網頁的前提下,把**請求轉向到其它空間(比如試用主機),臨時過渡。

下面開始講解,比如你的都在img目錄下,那就在該目錄下放乙個名為www.cppcns.com .htaccess 的檔案,內容如下:

/* 作者:碼農教程 */

大概解釋下:

rewritecond % !^$ [nc]

rewritecond % !simcole.cn [nc]

rewritecond % !zhuaxia.com [nc]

rewritecond % !google.com [nc]

/* 作者:碼農教程 /article/1550.html */

這部分是判斷是否盜鏈,如果以上條件都成立(即訪問的請求,既不是直接輸入**,也不是來自simcole.cn,也不是來自zhuaxia.com,也不是來自google.com,也不是來自baidu.com,也不是來自bloglines.com 的話),就執行下列轉向:

意思是讓所有盜鏈 img 目錄下 jpg、gif、png、bmp、swf、jpeg 檔案的網頁,顯示的都用 image 目錄下的 replace.gif 替換掉。注意替換顯示的不要放在設定防盜煉的 img 目錄下。如果照上面的規則判斷出請求不是盜鏈的,就執行以下轉向:

rewriterule ^(.*)$ [l]

意思是對 img 目錄下所有的請求都轉向到目標伺服器,比如有個原來的 url 是 ,現在就會轉到 去。當然了你得先把原伺服器 img 目錄下的檔案統統拷貝到臨時伺服器的 image 目錄下,轉向才會真正可用。起到的效果就是把原伺服器**所占用的流量統統省下,讓臨時伺服器來承受了.

設定images目錄不充許http訪問

把images目錄設定成不充許http訪問(把目錄的:讀取、目錄瀏覽 兩個許可權去掉)。

用乙個php檔案,直接用file函式讀取這個。在這個php檔案裡進行許可權控制。

apache環境中,在你的目錄中加上下面這個檔案即可。

檔名 .htaccess

檔案內容如下

其他web環境如iss,nginx也類似。

class imgdata

public function img2data()

public function data2img()

public function _imgfrom($imgsrc)

}$n = new imgdata;

$n -> getdir(「1.jpg」); //路徑,一般儲存在資料庫裡,www.cppcns.com使用者無法獲取真實路徑,可根據id來獲取

$n -> img2data();

$n -> data2img();

這段**是讀取,然後直接輸出給瀏覽器,在讀取和輸出之前,進行使用者許可權判斷。

這裡說的php讀取,不是指讀取路徑,而是指讀取的內容,然後通過

header();輸入型別,比如 gif png jpg等,下面輸出的內容,所以用到了fread()

實際上,你看到 image.php?id=100 就是顯示這張在瀏覽器上,而你檢視原始檔,看到的不會是的路徑,而是亂碼似的內容。

類似於qq空間的加密相簿,只有輸入密碼才能訪問,並且直接在瀏覽器輸入 加密相簿中的相片位址也是無法訪問。我目前的想法是 的位址是乙個php檔案,通過 php 驗證許可權 ,讀取,並輸出,不知道除了這樣的方法還有更簡單高效的做法沒有?比如生成臨時的瀏覽位址,使用一些 nginx 的一些防盜煉外掛程式?

你可以利用ngx_http_auth_basic_module來完成。

修改配置檔案

location /

auth_basic 「auth」中的auth是彈出框(輸入使用者名稱和密碼)的標題

auth_basic_user_file /usr/local/nginx/conf/htpasswd; 中的/usr/local/nginx/conf/htpasswd是儲存密碼的檔案

本文標題: php設定images目錄不充許http訪問的方法

本文位址: /wangluo/php/168515.html

目錄設定PHP和Apache環境搭建小記

題記 寫這篇部落格要主是加深自己對目錄設定的認識和總結實現演算法時的一些驗經和訓教,如果有錯誤請指出,萬分感謝。apache 設定的時候 phpinidir 有什麼作用?與php4搜尋php.ini是在 systemroot 下不同的是,php5按照以下次序依次查詢php.ini phpinidir...

PHP程式設計之設定apache虛擬目錄

apache虛擬目錄設定方法分享,供大家參考,具體內容如下 1.開啟 虛擬目錄配置檔案 httpd vhosts.conf 檔案路徑 wamp bin apache apache2.4.9 conf extra httpd vhosts.conf 將以下配置 改為 virtual hosts 2.設...

php不相容 php7不相容dedecms

php7不相容dedecms 一 無法獲取錯誤資訊,一片空白,一片空白是無法除錯的,所以要做的第一件事,能夠輸出錯誤資訊。開啟 include common.inc.php 找到下面的 error reporting e all error reporting e all e notice 改為er...