ホームページ  >  記事  >  バックエンド開発  >  悪意のあるリバース プロキシによる Web サイトへのアクセスを防ぐ方法 (アンチ Web サイト ミラーリング)_PHP チュートリアル

悪意のあるリバース プロキシによる Web サイトへのアクセスを防ぐ方法 (アンチ Web サイト ミラーリング)_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:35:34869ブラウズ

リバース プロキシとは何ですか?

まず、フォワード エージェントの概念について話しましょう:

伝説のエージェントとしても知られるフォワード エージェントは、踏み台のように機能します。簡単に言うと、私はユーザーであり、特定の Web サイトにはアクセスできませんが、プロキシ サーバーにはアクセスできます。このプロキシサーバーは、私がアクセスできないWebサイトにアクセスできるので、最初にプロキシサーバーに接続し、アクセスできないWebサイトのコンテンツが必要であることをプロキシサーバーが取得して返します。自分。 Web サイトの観点から見ると、プロキシ サーバーがコンテンツを取得するときに存在するレコードは 1 つだけであり、それがユーザーのリクエストであることがわからない場合があり、ユーザーの情報もプロキシが Web サイトに通知するかどうかによって異なります。ない。

結論として、フォワード プロキシはクライアントとオリジン サーバーの間のサーバーであり、オリジン サーバーからコンテンツを取得するために、クライアントはプロキシにリクエストを送信し、ターゲット (オリジン サーバー) を指定します。プロキシはリクエストをプロキシに送信し、オリジンサーバーはリクエストを転送し、取得したコンテンツをクライアントに返します。フォワード プロキシを使用するには、クライアントで特別な設定を行う必要があります。

では、リバース プロキシの概念はどうでしょうか?

たとえば、ユーザーは http://www.nowamagic.net/librarys/veda というページにアクセスしますが、www.nowamagic.net は実際には存在しません。そのページを別のサーバーからこっそり取得し、それを吐き出して使用します。独自のコンテンツをユーザーに提供します。

しかし、ユーザーは知りません、これは正常であり、ユーザーは一般的に愚かです。ここでいうwww.nowmagic.netというドメイン名に対応するサーバーはリバースプロキシ機能を持っています。

結論としては、リバース プロキシはクライアントにとって元のサーバーのように機能し、クライアントは特別な設定を行う必要はありません。クライアントは通常のリクエストをリバース プロキシの名前空間 (name-space) 内のコンテンツに送信します。その後、リバース プロキシはリクエストの転送先 (元のサーバー) を決定し、取得したコンテンツをクライアントに返します。次のようになります。コンテンツは次のようになります。独自のオリジナルコンテンツ。

悪意のあるリバース プロキシの害

Web サイトが悪意のあるリバース プロキシである場合、どのような害がありますか?以下にいくつか挙げます:

•まず第一に、サーバーリソースを確実に占有し、ウェブサイトを開く速度に影響を与えます。
•第二に、誰かがプロキシを通じてあなたのウェブサイトのデータを盗んだ場合、あまり賢くないユーザーや検索エンジンにとって、それはあなたのサイトとまったく同じサイトを構築するのと同じことになり、あなたのサイトがサイトに登録される可能性が非常に高くなります。検索エンジンのサンドボックスも降格されます。
• 悪意を持ってプロキシされたページにあなたのアフィリエイト広告(Adsense など)も含まれている場合、誰かが上記の広告をクリックすると、Adsense によって簡単に禁止されます。
•危険はたくさんあります、読者は自分で決めることができます...

jsレベルのソリューション

コードをコピーします コードは次のとおりです:


スクリプトは非常に簡単です。アドレス バーの URL が nowamagic.net と www.nowamagic.net のいずれでもない場合、アドレス バーを http://www.nowamagic.net/ にリダイレクトします。このコードは、人々がリバース プロキシ テクノロジを使用して、自分のものとまったく同じ Web サイトを「偽装」することを防ぐこともできます。

余談: Web サイトが iframe によって埋め込まれるのを防ぐ方法。 iframe を使用してフレームを作成し、そこに当社の Web サイトを埋め込む人もいます。訪問者が自分の Web サイトを閲覧しているように見えます。では、どうすれば解決できるでしょうか。次のメソッドは壊れる可能性があります:

コードをコピーします コードは次のとおりです:


phpレベルのソリューション

JS レベルのソリューションは、悪意のあるプロキシ ページをジャンプバックさせることができますが、検索エンジンにとってはあまりフレンドリーではありません。以下はサーバー側 (PHP) のソリューションです。コードは比較的単純なので、詳細は説明しません。

コードをコピーします コードは次のとおりです:

$proxy_rs = $this -> proxy_filter();
if( $proxy_rs != 'nowmagic.net' || $proxy_rs != 'www .nowwamagic.net ' )
{
echo '不正なリバース プロキシ アクセス';
//header('場所: 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'];
}

htアクセスレベルソリューション

.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!="nowwamagic.net")&&($server!="www.nowmagic.net")){
echo 'このサーバーは悪意のあるリバース プロキシを禁止しています! ';
}
?>

私のウェブサイトの特殊性のため、私はこの方法を試していませんが、この方法はオンラインで一般的に使用されています。

Apache httpd.conf レベルの解決策
Nginx でこれを禁止する方法がわかりませんが、知っている場合は教えてください~

www.bkjia.com本当http://www.bkjia.com/PHPjc/743147.html技術記事リバースプロキシとは何ですか? まずフォワード エージェントの概念について話しましょう。フォワード エージェントは伝説のエージェントとしても知られており、踏み台のように機能します。簡単に言えば、私はユーザーであり...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。