ホームページ バックエンド開発 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 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

リバース プロキシとロード バランシングのために FastAPI で Nginx を使用する方法 リバース プロキシとロード バランシングのために FastAPI で Nginx を使用する方法 Aug 01, 2023 am 09:44 AM

リバース プロキシとロード バランシングのために FastAPI で Nginx を使用する方法 はじめに: FastAPI と Nginx は 2 つの非常に人気のある Web 開発ツールです。 FastAPI は高性能 Python フレームワークであり、Nginx は強力なリバース プロキシ サーバーです。これら 2 つのツールを一緒に使用すると、Web アプリケーションのパフォーマンスと信頼性が向上します。この記事では、リバース プロキシと負荷分散のために FastAPI で Nginx を使用する方法を学びます。逆生成とは何ですか

Nginx リバースプロキシにおけるアクセス制御とフロー制御の適用 Nginx リバースプロキシにおけるアクセス制御とフロー制御の適用 Jun 10, 2023 pm 06:58 PM

Nginx は、リバース プロキシ サーバーとしても広く使用されている、高性能、オープンソース、多用途の Web サーバーです。リバース プロキシ サーバーを使用すると、負荷分散、高可用性、アクセス制御、トラフィック制御などの機能を提供できます。この記事では、Nginx リバースプロキシにおけるアクセス制御とフロー制御のアプリケーションを紹介します。 1. アクセス制御 IP アドレス ブラックリスト/ホワイトリスト Nginx は、IP アドレス ブラックリストまたはホワイトリストを構成することで、リクエストに対するアクセス制御を実装できます。ブラックリスト内の IP アドレスはアクセスを拒否されますが、ホワイトリスト内の IP アドレスはアクセスを拒否されます。

Gin フレームワークにおけるリバース プロキシとリクエスト転送の詳細な説明 Gin フレームワークにおけるリバース プロキシとリクエスト転送の詳細な説明 Jun 23, 2023 am 11:43 AM

Web アプリケーションの急速な開発に伴い、開発に Golang 言語を使用する企業が増えています。 Golang 開発では、Gin フレームワークの使用が非常に一般的な選択肢です。 Gin フレームワークは、HTTP エンジンとして fasthttp を使用し、軽量でエレガントな API 設計を備えた高性能 Web フレームワークです。この記事では、リバース プロキシのアプリケーションと、Gin フレームワークでの転送リクエストについて詳しく説明します。リバース プロキシの概念 リバース プロキシの概念は、プロキシ サーバーを使用してクライアントを作成することです。

Nginx Proxy Manager を使用して HTTPS プロトコルでリバース プロキシを実装する方法 Nginx Proxy Manager を使用して HTTPS プロトコルでリバース プロキシを実装する方法 Sep 26, 2023 am 08:40 AM

NginxProxyManager を使用して HTTPS プロトコルでリバース プロキシを実装する方法 近年、インターネットの普及とアプリケーション シナリオの多様化に伴い、Web サイトやアプリケーションへのアクセス方法はますます複雑になっています。 Web サイトへのアクセス効率とセキュリティを向上させるために、多くの Web サイトはユーザーのリクエストを処理するためにリバース プロキシを使用し始めています。 HTTPS プロトコルのリバース プロキシは、ユーザーのプライバシーを保護し、通信のセキュリティを確保する上で重要な役割を果たします。この記事ではNginxProxyの使い方を紹介します。

静的 Web ページへのアクセスを高速化するための Nginx リバース プロキシ キャッシュ構成 静的 Web ページへのアクセスを高速化するための Nginx リバース プロキシ キャッシュ構成 Jul 04, 2023 pm 06:09 PM

静的 Web ページ アクセスの高速化を実現する Nginx リバース プロキシ キャッシュ構成 はじめに: インターネットの急速な発展に伴い、アクセス速度は Web サイトの運用において非常に重要な要素となっています。 Web ページのアクセス速度を向上させるために、Nginx リバース プロキシ キャッシュ テクノロジを使用して Web ページを高速化できます。この記事では、Nginx を使用してリバース プロキシ キャッシュを構成し、静的 Web ページを高速化する方法を紹介します。 Nginx リバース プロキシ キャッシュの構成: Nginx のインストール: まず、Nginx サーバーをインストールする必要があります。これは apt-ge を通じて実行できます。

Web サイトのアクセス速度を向上させる Nginx リバース プロキシ キャッシュ構成 Web サイトのアクセス速度を向上させる Nginx リバース プロキシ キャッシュ構成 Jul 04, 2023 pm 10:01 PM

Web サイトのアクセス速度を向上させる Nginx リバース プロキシ キャッシュ構成 はじめに: インターネット時代において、Web サイトのアクセス速度は非常に重要です。 Web サイトの読み込みが遅いとユーザーはイライラし、ユーザー離れを引き起こす可能性があります。 Webサイトのアクセス速度を向上させるには、リバースプロキシキャッシュを利用してサーバーの負荷を軽減し、ページの読み込みを高速化する方法が一般的です。この記事では、Nginxを使用してリバースプロキシキャッシュを設定し、Webサイトのアクセス速度を向上させる方法を紹介します。 1. Nginx リバースプロキシキャッシュとは何ですか?ンギン

Nginx リバースプロキシにおけるプロキシの改ざん防止戦略 Nginx リバースプロキシにおけるプロキシの改ざん防止戦略 Jun 11, 2023 am 09:09 AM

インターネットの発展とアプリケーションの増加に伴い、Web サーバーの役割はますます重要になってきています。データ送信プロセスにおいて、リバース プロキシ サーバーは非常に重要な役割を果たしており、アプリケーションがフロー制御、負荷分散、データのキャッシュなどの問題に対処するのに役立ち、それによってアプリケーションのパフォーマンスと信頼性が向上します。 Nginx は、軽量の Web サーバーおよびリバース プロキシ サーバーとして広く使用されています。 Nginx リバース プロキシを使用するプロセスでは、プロキシ データの整合性と改ざん防止を確保することが特に重要です。

Workermanドキュメントにリバースプロキシ機能を実装する方法 Workermanドキュメントにリバースプロキシ機能を実装する方法 Nov 08, 2023 pm 03:46 PM

Workerman ドキュメントでリバース プロキシ機能を実装するには、具体的なコード例が必要です はじめに: Workerman は、豊富な機能と強力なパフォーマンスを提供する高性能 PHP マルチプロセス ネットワーク通信フレームワークであり、Web のリアルタイム通信や長時間の通信で広く使用されています。接続、サービス シナリオ。このうち、Workermanはリバースプロキシ機能もサポートしており、サーバーが外部サービスを提供する際の負荷分散や静的リソースのキャッシュを実現できます。この記事ではWorkermanを利用してリバースプロキシ機能を実装する方法を紹介します。

See all articles