導航:首頁 > 編程語言 > php禁止代理訪問

php禁止代理訪問

發布時間:2023-06-10 22:24:23

php中如何禁止用戶直接訪問某個目錄或者文件,但是前提肯定是程序要能訪問執行的

緩存是指臨時文件交換區,電腦把最常用的文件從存儲器里提出來臨時放在緩存里,就像把工具和材料搬上工作台一樣,這樣會比用時現去倉庫取更方便。因為緩存往往使用的是RAM(斷電即掉的非永久儲存),所以在忙完後還是會把文件送到硬碟等存儲器里永久存儲。電腦里最大的緩存就是內存條了,最快的是CPU上鑲的L1和L2緩存,顯卡的顯存是給GPU用的緩存,硬碟上也有16M或者32M的緩存。千萬不能把緩存理解成一個東西,它是一種處理方式的統稱!

在WEB開發中用來應付高流量最有效的辦法就是用緩存技術,能有效的提高伺服器負載性能,用空間換取時間。

互聯網也是2 8定論,就像網路搜索中的關鍵字一樣,80%的人所搜索的肯定就是 20%的內容,所以只需要把這 20%的關鍵字的內容綬存好就可以很有效的在數十億的記錄中快速的返回給用戶需要的內容。

這編文章我們來看一下在PHP WEB開發中常用的一些綬存手段。

1、普遍緩存技術:

數據緩存:這里所說的數據緩存是指資料庫查詢PHP緩存機制,每次訪問頁面的時候,都會先檢測相應的緩存數據是否存在,如果不存在,就連接資料庫,得到數據,並把查詢結果序列化後保存到文件中,以後同樣的查詢結果就直接從緩存表或文件中獲得。

用的最廣的例子看Discuz的搜索功能,把結果ID緩存到一個表中,下次搜索相同關鍵字時先搜索緩存表。

舉個常用的方法,多表關聯的時候,把附表中的內容生成數組保存到主表的一個欄位中,需要的時候數組分解一下,這樣的好處是只讀一個表,壞處就是兩個數據同步會多不少步驟,資料庫永遠是瓶頸,用硬碟換速度,是這個的關鍵點。

2、 頁面緩存:

每次訪問頁面的時候,都會先檢測相應的緩存頁面文件是否存在,如果不存在,就連接資料庫,得到數據,顯示頁面並同時生成緩存頁面文件,這樣下次訪問的時候頁面文件就發揮作用了。(模板引擎和網上常見的一些PHP緩存機制類通常有此功能)

3、 時間觸發緩存:

檢查文件是否存在並且時間戳小於設置的過期時間,如果文件修改的時間戳比當前時間戳減去過期時間戳大,那麼就用緩存,否則更新緩存。

4、 內容觸發緩存:

當插入數據或更新數據時,強制更新PHP緩存機制。

5、 靜態緩存:

這里所說的靜態緩存是指靜態化,直接生成HTML或XML等文本文件,有更新的時候重生成一次,適合於不太變化的頁面,這就不說了。

以上內容是代碼級的解決方案,我直接CP別的框架,也懶得改,內容都差不多,很容易就做到,而且會幾種方式一起用,但下面的內容是伺服器端的緩存方案,非代碼級的,要有多方的合作才能做到

❷ php運行不了結果 網頁拒絕訪問

apache2.2的httpd配置中需要將PHP設置為可識別的腳本類型。
在httpd.conf中配置
LoadMole php5_mole "c:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
AddType application/x-httpd-php .phtml
PHPIniDir "c:/php"
然後重啟apache2.2

--------------------------

http://localhost 下載 index.html是因為默認目錄index使用的 index.html
在httpd.conf中修改
DirectoryIndex index.html變為下面內容
DirectoryIndex index.php index.html

❸ php怎麼禁止某ip或ip地址段訪問

//禁用單個ip如下:
<?php
//禁用ip地址
$ip=$_SERVER["REMOTE_ADDR"];
$ban=file_get_contents("ban.dat");
if(stripos($ban,$ip))
{
die("YourIPAddressis:$ip,you'reforbidentoviewthispage!");
}
echo"YourIPAddressis:$ip,hello!";
?>
//禁用ip段如下:
<?php
//禁用ip地址
$ip=$_SERVER["REMOTE_ADDR"];
while($ip[count($ip-1)]!='.')$ip=substr($ip,1,-1);//整理出ip段
$ban=file_get_contents("ban.dat");
if(stripos($ban,$ip))
{
die("U'reforbidentoviewthispage!");
}
echo"Hello!";
?>

❹ 如何禁止網站被反向代理

在前幾天兩個站點被別人完全境像代理,基本上就是直接讓他給復制過去了,我也是醉了,直接鏡像過去,然後再緩存到他自己的伺服器上面,真是絕了,你自己的站點再加什麼代理去反代理也不管用了,因為他的站點根本就不變,使用了 .htaccess 來反代理,也使用了 js 判斷域名都不管用,所以我一直在判斷他使用了緩存機制,如果不使用緩存,時時代理的話肯定是可以的,我先把這兩種方法來總結一下吧。
一、使用 .htaccess 禁止反向代理
在站點根目錄下新建 .htaccess 文件,然後添加如下的內容:
RewriteEngine On
RewriteBase /
php_value auto_append_file proxy.php
再新建 proxy.php 文件,添加如下代碼保存.
<?php
$f = getenv("HTTP_X_FORWARDED_FOR");
$url = "https://www.xiariboke.com";
if ($f!=""){
print "「;
print 「「;
}
?>
二、使用 js 代碼判斷域名
<script type="text/javascript">
if (document.domain != 'xiariboke.com' && document.domain != 'www.xiariboke.com'){
window.location.href='http://www.xiariboke.com/';
}
</script>
這種是首先判斷他的域名是不是 xiariboke.com 這個域名,如果是則正常訪問,如果不是則跳轉到原網站。
三、使用 php 判斷域名
這種方法跟使用 js 代碼來跳轉域名是一個道理,都是先判斷域名,如果是代理的域名則進行跳轉,代碼如下:
<P><?php </P>
<P>if($_SERVER['SERVER_NAME'] != 'xiariboke.com' ||$_SERVER['SERVER_NAME'] != 'www.xiariboke.com' )
{
exit('非法反向代理訪問');
}</P>
<P>?></P>
如果是時時代理的話,上面三種方法就已經足夠了,但如果他使用了緩存,將代理的網站緩存到他自己的伺服器上面,再使用這些就不管用了,因他被他代理的站都不更新了,你再怎麼改都不行,尤其現在的阿里雲CDN,360CDN又怎麼牛,而我的站點使用的就是阿里雲CDN,上面有個防止外鏈,把防外鏈給開啟才解決。
一般的網站CSS,JS調用基本上用的都是絕對路徑,所以我們可以重命名CSS,JS的文件包以達到對別人境像網站的控制,把他的頁面搞亂,這樣相信堅持不了幾天,他就會換成其它網站了。

❺ 如何阻止網站被惡意反向代理訪問


最近有人用小站數據,利用反向代理技術,做了個小偷站。用戶訪問的是他的網址,但實質上內容數據確是我的,這是一起惡意反向代理事件
什麼是反向代理?
先說說正向代理的概念:
正向代理,也就是傳說中的代理,他的工作原理就像一個跳板。簡單的說,我是一個用戶,我訪問不了某網站,但是我能訪問一個代理伺服器。這個代理伺服器呢,他源畢能訪問那個我不能訪問的網站,於是我先連上代理伺服器,告訴他我需要那個無法訪問網站的內容,代理伺服器去取回來,然後返回給我。從網站的角度,只在代理伺服器來取內容的時候有一次記錄,有時候並不知道是用戶的請求,也隱藏了用戶的資料,這取決於代理告不告訴網站。
結論就是,正向代理是一個位於客戶端和原始伺服器(origin server)之間的伺服器,為了從原始伺服器取得內容,客戶端向代理發送一個請求並指定目標(原始伺服器),然後代理向原始伺服器轉交請求並將獲得的內容返回給客戶端。客戶端必須要進行一些特別的設置才能使用正向代理。
那麼反向代理的概念呢?
比如用戶訪問
但用戶並不知情,這很正常,用戶一般都很笨。這里所提到的
這個域名對應的伺服器就設置了反向代理功能。
結論就是反向代理正好相反,對於客戶端而言它就像是原始伺服器,並且客戶端不需要進行任何特別的設置。客戶端向反向代理 的命名空間(name-space)中的內容發送普通請求,接著反向代理將判斷向何處(原始伺服器)轉交請求,並將獲得的內容返回給客戶端,就像這些內容原本就是它自己的一樣。
惡意反向代理的危害
網站被惡意反向代理有什麼危害呢?這里列舉一下:
首先肯定會佔用伺服器資源,網站打開速度受影響。
其次,別人通過代理盜用你的網站數據,對用戶與不是那麼智能的搜索引擎而言,相當於建了一個與你一模一樣的站點,那麼很有可能你的站點會進搜索引擎沙箱,叢喊甚至被降權。
如果被惡意代理的頁面,還掛有你的聯盟廣告(比如Adsense),這就十分危險了,如果有人點擊了上面的廣告,很容易被Adsense封號。
還有很多危害,讀者可以自行腦補
js 級別的解決方案
代碼如下:
腳本很簡單,如果地址欄中的網址不是

中的任何一個,那麼就把地址欄轉向
題外話:如何防止網站被iframe嵌入。有些人用iframe做了個框架,把我們網站嵌入其中,訪客來瀏覽的時候,好像是在瀏覽他自己的網站一樣雹鄭芹,那麼如何解決呢?以下方法可破:
代碼如下:
php 級別的解決方案
js 級別的解決方案雖然能夠讓惡意代理頁面跳回來,但是對搜索引擎不怎麼友好。下面是伺服器端(PHP)的解決方案,代碼比較簡單,就不多說了。
代碼如下:
$proxy_rs = $this - proxy_filter();
if( $proxy_rs != '' || $proxy_rs != '' )
{
echo '非法反向代理訪問'
//header('Location:
exit;
}
public function proxy_filter()
{
/*
$svrUrl = '
if (!empty($_SERVER["QUERY_STRING"]))
{
$svrUrl .= "?".$_SERVER["QUERY_STRING"];
}
return $svrUrl;
*/
return $_SERVER['SERVER_NAME'];
}
htaccess 級別的解決方案
.htaccess
代碼如下:
RewriteEngine On
RewriteBase /
php_value auto_append_file proxy.php
proxy.php
代碼如下:
$f = getenv("HTTP_X_FORWARDED_FOR");
$server = getenv("HTTP_HOST");
if (($f!="")($server!="")($server!="")){
echo '本伺服器禁止惡意反向代理!'
}
?
這個由於我網站的特殊性,沒試驗過,但是網上常用這種方法。

閱讀全文

與php禁止代理訪問相關的資料

熱點內容
C51編譯器在標准C的基礎上 瀏覽:260
銀行卡掉了可以辦車貸解壓嗎 瀏覽:317
沒解壓可以貸款嗎 瀏覽:517
最小pdf閱讀器 瀏覽:808
游戲被加密了怎樣用電腦打開 瀏覽:300
藍燈如何手動選擇伺服器 瀏覽:85
伺服器設置在中國意味什麼 瀏覽:571
單片機不能進行選擇控制 瀏覽:694
咕咚手錶如何綁定手機app 瀏覽:530
命令虛擬語氣 瀏覽:405
戴爾系統命令 瀏覽:583
怎樣壓縮視頻文件大小 瀏覽:686
51單片機信號發生器 瀏覽:56
米拍攝影哪個app好 瀏覽:88
天津致遠曙光伺服器雲伺服器 瀏覽:117
光子程序員怎麼獲得 瀏覽:535
中醫診斷學第九版pdf 瀏覽:498
python集成包 瀏覽:305
如何用電腦解壓縮文件 瀏覽:448
pubg用什麼伺服器 瀏覽:528