一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - 如何阻止網(wǎng)站被惡意反向代理訪問(防網(wǎng)站鏡像)

如何阻止網(wǎng)站被惡意反向代理訪問(防網(wǎng)站鏡像)

2020-06-19 11:52PHP技術(shù)網(wǎng) PHP教程

最近有人用小站數(shù)據(jù),利用反向代理技術(shù),做了個小偷站。用戶訪問的是他的網(wǎng)址,但實(shí)質(zhì)上內(nèi)容數(shù)據(jù)確是我的,這是一起惡意反向代理事件

什么是反向代理?

先說說正向代理的概念:

正向代理,也就是傳說中的代理,他的工作原理就像一個跳板。簡單的說,我是一個用戶,我訪問不了某網(wǎng)站,但是我能訪問一個代理服務(wù)器。這個代理服務(wù)器呢,他能訪問那個我不能訪問的網(wǎng)站,于是我先連上代理服務(wù)器,告訴他我需要那個無法訪問網(wǎng)站的內(nèi)容,代理服務(wù)器去取回來,然后返回給我。從網(wǎng)站的角度,只在代理服務(wù)器來取內(nèi)容的時候有一次記錄,有時候并不知道是用戶的請求,也隱藏了用戶的資料,這取決于代理告不告訴網(wǎng)站。

結(jié)論就是,正向代理是一個位于客戶端和原始服務(wù)器(origin server)之間的服務(wù)器,為了從原始服務(wù)器取得內(nèi)容,客戶端向代理發(fā)送一個請求并指定目標(biāo)(原始服務(wù)器),然后代理向原始服務(wù)器轉(zhuǎn)交請求并將獲得的內(nèi)容返回給客戶端。客戶端必須要進(jìn)行一些特別的設(shè)置才能使用正向代理。

那么反向代理的概念呢?

比如用戶訪問 http://www.ythuaji.com.cn/ 這個頁面,但www.ythuaji.com.cn實(shí)際上并不存在這個頁面,他是偷偷從另外一臺服務(wù)器上取回來,然后作為自己的內(nèi)容吐給用戶。

但用戶并不知情,這很正常,用戶一般都很笨。這里所提到的 www.ythuaji.com.cn 這個域名對應(yīng)的服務(wù)器就設(shè)置了反向代理功能。

結(jié)論就是反向代理正好相反,對于客戶端而言它就像是原始服務(wù)器,并且客戶端不需要進(jìn)行任何特別的設(shè)置。客戶端向反向代理 的命名空間(name-space)中的內(nèi)容發(fā)送普通請求,接著反向代理將判斷向何處(原始服務(wù)器)轉(zhuǎn)交請求,并將獲得的內(nèi)容返回給客戶端,就像這些內(nèi)容原本就是它自己的一樣。

惡意反向代理的危害

網(wǎng)站被惡意反向代理有什么危害呢?這里列舉一下:

•首先肯定會占用服務(wù)器資源,網(wǎng)站打開速度受影響。
•其次,別人通過代理盜用你的網(wǎng)站數(shù)據(jù),對用戶與不是那么智能的搜索引擎而言,相當(dāng)于建了一個與你一模一樣的站點(diǎn),那么很有可能你的站點(diǎn)會進(jìn)搜索引擎沙箱,甚至被降權(quán)。
•如果被惡意代理的頁面,還掛有你的聯(lián)盟廣告(比如Adsense),這就十分危險了,如果有人點(diǎn)擊了上面的廣告,很容易被Adsense封號。
•還有很多危害,讀者可以自行腦補(bǔ)……

js 級別的解決方案

 

復(fù)制代碼 代碼如下:


<script type="text/javascript">
if (document.domain != 'zzvips.com' && document.domain != 'www.ythuaji.com.cn'){
 window.location.href='http://www.ythuaji.com.cn/';
}
</script>

 

腳本很簡單,如果地址欄中的網(wǎng)址不是 zzvips.com 和 www.ythuaji.com.cn 中的任何一個,那么就把地址欄轉(zhuǎn)向 http://www.ythuaji.com.cn/ 。這段代碼同樣可以避免被人使用反向代理技術(shù)“偽造”一個跟自己一模一樣的網(wǎng)站。

題外話:如何防止網(wǎng)站被iframe嵌入。有些人用iframe做了個框架,把我們網(wǎng)站嵌入其中,訪客來瀏覽的時候,好像是在瀏覽他自己的網(wǎng)站一樣,那么如何解決呢?以下方法可破:

 

復(fù)制代碼 代碼如下:


<script type="text/javascript">
<!--
if (top.location != self.location)top.location=self.location;
// -->
</script>

 

php 級別的解決方案

js 級別的解決方案雖然能夠讓惡意代理頁面跳回來,但是對搜索引擎不怎么友好。下面是服務(wù)器端(PHP)的解決方案,代碼比較簡單,就不多說了。

 

復(fù)制代碼 代碼如下:


$proxy_rs = $this -> proxy_filter();
if( $proxy_rs != 'zzvips.com' || $proxy_rs != 'www.ythuaji.com.cn' )
{
 echo '非法反向代理訪問';
 //header('Location: http://www.ythuaji.com.cn/');
 exit;
}

public function proxy_filter()
{
 /*
 $svrUrl = 'http://' . $_SERVER['SERVER_NAME'].$_SERVER["PHP_SELF"];
 if (!empty($_SERVER["QUERY_STRING"]))
 {
  $svrUrl .= "?".$_SERVER["QUERY_STRING"];
 }

 return $svrUrl;
 */
 return $_SERVER['SERVER_NAME'];
}

 

htaccess 級別的解決方案

.htaccess

 

復(fù)制代碼 代碼如下:


RewriteEngine On
RewriteBase /
php_value auto_append_file proxy.php

 

proxy.php

 

復(fù)制代碼 代碼如下:


<?php
$f = getenv("HTTP_X_FORWARDED_FOR");
$server = getenv("HTTP_HOST");
if (($f!="")&&($server!="zzvips.com")&&($server!="www.ythuaji.com.cn")){
 echo '本服務(wù)器禁止惡意反向代理!';
}
?>

 

這個由于我網(wǎng)站的特殊性,沒試驗(yàn)過,但是網(wǎng)上常用這種方法。

Apache httpd.conf 級別的解決方案
這個 Apache 上如何禁止我還沒搗鼓出來, Nginx 倒可以,但是我用的是 Apache,如果你知道,請告訴我下~

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲国产果果在线播放在线 | xx18-19xxxxhd| 日本欧美不卡一区二区三区在线 | 久久精品手机观看 | 私人影院在线播放 | 我要看免费毛片 | 亚洲国产欧美另类 | 国产精品第3页 | 亚洲一二三区久久五月天婷婷 | 乳环调教 | 7788av| 五月天国产精品 | 99ri精品| 色天使亚洲综合在线观看 | 国内精品久久久久影院男同志 | 超级碰在线视频 | 性xxx欧美 | 国产一二在线观看视频网站 | 99精品国产高清自在线看超 | 久久综合久久伊人 | 精品国产三级av在线 | 日韩亚洲国产欧美精品 | 久久精品热在线观看85 | 无颜之月全集免费观看 | 天天干天天色综合网 | 日韩精品亚洲一级在线观看 | 亚州在线视频 | 色综合伊人色综合网亚洲欧洲 | 亚洲国产精品日本无码网站 | 成人天堂入口网站 | 高清视频在线播放ww | 好舒服好爽再快点视频 | 午夜DV内射一区区 | 精品在线播放 | 国外欧美一区另类中文字幕 | 99精品观看 | 91精品国产高清久久久久久 | 搡60一70岁的老女人小说 | www亚洲视频 | 欧美日韩国产成人精品 | 色多多在线观看视频 |