首頁 後端開發 php教程 如何阻止网站被恶意反向代理访问(防网站镜像)_php技巧

如何阻止网站被恶意反向代理访问(防网站镜像)_php技巧

May 17, 2016 am 08:47 AM
反向代理

什么是反向代理?

先说说正向代理的概念:

正向代理,也就是传说中的代理,他的工作原理就像一个跳板。简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器。这个代理服务器呢,他能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。从网站的角度,只在代理服务器来取内容的时候有一次记录,有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站。

结论就是,正向代理是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。

那么反向代理的概念呢?

比如用户访问 http://www.nowamagic.net/librarys/veda 这个页面,但www.nowamagic.net实际上并不存在这个页面,他是偷偷从另外一台服务器上取回来,然后作为自己的内容吐给用户。

但用户并不知情,这很正常,用户一般都很笨。这里所提到的 www.nowamagic.net 这个域名对应的服务器就设置了反向代理功能。

结论就是反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理 的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容原本就是它自己的一样。

恶意反向代理的危害

网站被恶意反向代理有什么危害呢?这里列举一下:

•首先肯定会占用服务器资源,网站打开速度受影响。
•其次,别人通过代理盗用你的网站数据,对用户与不是那么智能的搜索引擎而言,相当于建了一个与你一模一样的站点,那么很有可能你的站点会进搜索引擎沙箱,甚至被降权。
•如果被恶意代理的页面,还挂有你的联盟广告(比如Adsense),这就十分危险了,如果有人点击了上面的广告,很容易被Adsense封号。
•还有很多危害,读者可以自行脑补……

js 级别的解决方案

复制代码 代码如下:


脚本很简单,如果地址栏中的网址不是 nowamagic.net 和 www.nowamagic.net 中的任何一个,那么就把地址栏转向 http://www.nowamagic.net/ 。这段代码同样可以避免被人使用反向代理技术“伪造”一个跟自己一模一样的网站。

题外话:如何防止网站被iframe嵌入。有些人用iframe做了个框架,把我们网站嵌入其中,访客来浏览的时候,好像是在浏览他自己的网站一样,那么如何解决呢?以下方法可破:

复制代码 代码如下:


php 级别的解决方案

js 级别的解决方案虽然能够让恶意代理页面跳回来,但是对搜索引擎不怎么友好。下面是服务器端(PHP)的解决方案,代码比较简单,就不多说了。

复制代码 代码如下:

$proxy_rs = $this -> proxy_filter();
if( $proxy_rs != 'nowamagic.net' || $proxy_rs != 'www.nowamagic.net' )
{
 echo '非法反向代理访问';
 //header('Location: http://www.nowamagic.net/');
 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

复制代码 代码如下:

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!="nowamagic.net")&&($server!="www.nowamagic.net")){
 echo '本服务器禁止恶意反向代理!';
}
?>

这个由于我网站的特殊性,没试验过,但是网上常用这种方法。

Apache httpd.conf 级别的解决方案
这个 Apache 上如何禁止我还没捣鼓出来, Nginx 倒可以,但是我用的是 Apache,如果你知道,请告诉我下~

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
如何在FastAPI中使用Nginx進行反向代理程式和負載平衡 如何在FastAPI中使用Nginx進行反向代理程式和負載平衡 Aug 01, 2023 am 09:44 AM

如何在FastAPI中使用Nginx進行反向代理程式和負載平衡引言:FastAPI和Nginx是兩個非常受歡迎的Web開發工具。 FastAPI是一個高效能的Python框架,而Nginx則是一個強大的反向代理伺服器。結合這兩個工具,可以提高Web應用程式的效能和可靠性。在本文中,我們將學習如何在FastAPI中使用Nginx進行反向代理和負載平衡。什麼是反向代

Nginx反向代理中在存取控制和流量控制上的應用 Nginx反向代理中在存取控制和流量控制上的應用 Jun 10, 2023 pm 06:58 PM

Nginx是一款高效能、開源且多功能的Web伺服器,也被廣泛用作反向代理伺服器。反向代理伺服器可以用來提供負載平衡、高可用性、存取控制和流量控制等特性。本文將介紹Nginx反向代理程式中在存取控制和流量控制上的應用。一、存取控制IP位址黑名單/白名單Nginx可以透過設定IP位址黑名單或白名單來實現對請求的存取控制。黑名單中的IP位址將被拒絕訪問,而白名單中的I

Gin框架中的反向代理和請求轉送詳解 Gin框架中的反向代理和請求轉送詳解 Jun 23, 2023 am 11:43 AM

隨著Web應用程式的快速發展,越來越多的企業傾向於使用Golang語言來進行開發。在Golang開發中,使用Gin框架是非常流行的選擇。 Gin框架是一個高效能的Web框架,使用了fasthttp作為HTTP引擎,並擁有輕量級且優雅的API設計。在本文中,我們將深入探討Gin框架中反向代理和請求轉發的應用。反向代理的概念反向代理的概念就是透過代理伺服器使從客戶

Nginx反向代理快取配置,實現靜態網頁存取加速 Nginx反向代理快取配置,實現靜態網頁存取加速 Jul 04, 2023 pm 06:09 PM

Nginx反向代理快取配置,實現靜態網頁存取加速簡介:隨著網際網路的快速發展,存取速度成為了網站運作中非常重要的因素。為了提高網頁的存取速度,我們可以使用Nginx反向代理快取技術來實現網頁的加速。本文將介紹如何使用Nginx設定反向代理快取來實現靜態網頁的加速。 Nginx反向代理快取設定:安裝Nginx:首先要安裝Nginx伺服器,可以透過apt-ge

如何使用Nginx Proxy Manager實現HTTPS協定下的反向代理 如何使用Nginx Proxy Manager實現HTTPS協定下的反向代理 Sep 26, 2023 am 08:40 AM

如何使用NginxProxyManager實現HTTPS協定下的反向代理近年來,隨著網際網路的普及和應用場景的多樣化,網站和應用程式的存取方式變得越來越複雜。為了提高網站的存取效率和安全性,許多網站開始採用反向代理來處理使用者的請求。而針對HTTPS協定的反向代理,在保護使用者隱私和確保通訊安全性方面扮演著重要的角色。本文將介紹如何使用NginxProxy

利用Nginx Proxy Manager實現反向代理的負載平衡策略 利用Nginx Proxy Manager實現反向代理的負載平衡策略 Sep 26, 2023 pm 12:05 PM

利用NginxProxyManager實現反向代理的負載平衡策略NginxProxyManager是一款基於Nginx的代理程式管理工具,可以幫助我們輕鬆實現反向代理程式和負載平衡。透過設定NginxProxyManager,我們可以將請求分發給多個後端伺服器,以實現負載平衡,提高系統的可用性和效能。一、安裝並設定NginxProxyManager安

【總結】php反向代理不能存取的常見原因和解決方法 【總結】php反向代理不能存取的常見原因和解決方法 Mar 21, 2023 pm 07:10 PM

在使用反向代理時,可能會遇到無法存取的問題。特別是在使用 PHP 進行反向代理時,這個問題似乎更加突出。本文將介紹這個問題的常見原因和解決方法。

Nginx反向代理快取配置,提升網站存取速度 Nginx反向代理快取配置,提升網站存取速度 Jul 04, 2023 pm 10:01 PM

Nginx反向代理快取配置,提升網站存取速度引言:在網路時代,網站的存取速度是至關重要的。一個載入緩慢的網站會讓用戶感到不耐煩,並可能導致用戶流失。為了提升網站的存取速度,常見的方式是透過使用反向代理快取來減少伺服器的負載並加速頁面的載入。本文將介紹如何利用Nginx配置反向代理緩存,進而提升網站的存取速度。一、什麼是Nginx反向代理快取? Ngin

See all articles