Home Backend Development PHP Tutorial How to prevent a website from being accessed by a malicious reverse proxy (anti-website mirroring)_PHP Tutorial

How to prevent a website from being accessed by a malicious reverse proxy (anti-website mirroring)_PHP Tutorial

Jul 13, 2016 am 10:35 AM
reverse proxy

What is a reverse proxy?

Let’s first talk about the concept of forward agent:

Forward agent, also known as the legendary agent, works like a springboard. To put it simply, I am a user and I cannot access a certain website, but I can access a proxy server. As for this proxy server, it can access the website that I cannot access, so I first connect to the proxy server and tell it that I need the content of the website that cannot be accessed. The proxy server will retrieve it and return it to me. From the website's perspective, there is only one record when the proxy server comes to retrieve the content. Sometimes it is not known that it is the user's request, and the user's information is also hidden. This depends on whether the proxy tells the website or not.

The conclusion is that the forward proxy is a server between the client and the origin server. In order to obtain content from the origin server, the client sends a request to the proxy and specifies the target (origin server) , and then the proxy forwards the request to the origin server and returns the obtained content to the client. The client must make some special settings to use the forward proxy.

So what about the concept of reverse proxy?

For example, a user visits the page http://www.nowamagic.net/librarys/veda, but www.nowamagic.net does not actually exist. He secretly accesses the page from another server. Get it back from the Internet and spit it out to the user as your own content.

But users don’t know, this is normal, users are generally stupid. The server corresponding to the domain name www.nowamagic.net mentioned here has a reverse proxy function.

The conclusion is that a reverse proxy is just the opposite. It acts like the original server to the client, and the client does not need to make any special settings. The client sends a normal request to the content in the reverse proxy's namespace (name-space), and then the reverse proxy will determine where to forward the request (original server) and return the obtained content to the client, like these The content is its own original content.

The harm of malicious reverse proxy

What are the harms of a website being maliciously reverse proxy? Here are some examples:

•First of all, it will definitely occupy server resources and affect the website opening speed.
•Secondly, if someone else steals your website data through a proxy, for users and search engines that are not so smart, it is equivalent to building a site exactly like yours. Then it is very likely that your site will be included in the search engine sandbox. Box, even demoted.
•If the malicious proxy page also has your affiliate advertisement (such as Adsense), this is very dangerous. If someone clicks on the above advertisement, it is easy to be banned by Adsense.
•There are many dangers, readers can figure it out on their own...

JS level solution

Copy code The code is as follows:


The script is very simple. If the URL in the address bar is not one of nowamagic.net and www.nowamagic.net, then redirect the address bar to http://www.nowamagic.net/. This code can also prevent people from using reverse proxy technology to "fake" a website that is exactly like your own.

Off-topic: How to prevent websites from being embedded by iframes. Some people use iframes to create a framework and embed our website into it. When visitors come to browse, it seems like they are browsing their own website. So how to solve it? The following methods can be broken:

Copy code The code is as follows:


php level solution

Although js-level solutions can make malicious proxy pages jump back, they are not very friendly to search engines. The following is a server-side (PHP) solution. The code is relatively simple, so I won’t go into details.

Copy code The code is as follows:

$proxy_rs = $this -> proxy_filter();
if( $ proxy_rs != 'nowamagic.net' || $proxy_rs != 'www.nowamagic.net' )
{
echo 'Illegal reverse proxy access';
//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 level solution

.htaccess

Copy code The code is as follows:

RewriteEngine On
RewriteBase /
php_value auto_append_file proxy.php

proxy.php

Copy code The code is as follows:

$f = getenv("HTTP_X_FORWARDED_FOR");
$server = getenv("HTTP_HOST");
if (($f!="")&&($server!="nowamagic.net")&&($server!="www.nowamagic.net" )){
echo 'This server prohibits malicious reverse proxies! ';
}
?>

Due to the particularity of my website, I have not tried this method, but this method is commonly used on the Internet.

Apache httpd.conf level solution
I haven’t figured out how to ban this on Apache. Nginx is fine, but I use Apache. If you know, please tell me~

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/743147.htmlTechArticleWhat is a reverse proxy? Let’s first talk about the concept of forward agent: Forward agent, also known as the legendary agent, works like a springboard. Simply put, I am a user and I...
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to use Nginx with FastAPI for reverse proxy and load balancing How to use Nginx with FastAPI for reverse proxy and load balancing Aug 01, 2023 am 09:44 AM

How to use Nginx with FastAPI for reverse proxy and load balancing Introduction: FastAPI and Nginx are two very popular web development tools. FastAPI is a high-performance Python framework, and Nginx is a powerful reverse proxy server. Using these two tools together can improve the performance and reliability of your web applications. In this article, we will learn how to use Nginx with FastAPI for reverse proxy and load balancing. What is reverse generation

Application of access control and flow control in Nginx reverse proxy Application of access control and flow control in Nginx reverse proxy Jun 10, 2023 pm 06:58 PM

Nginx is a high-performance, open source, and versatile web server that is also widely used as a reverse proxy server. Reverse proxy servers can be used to provide features such as load balancing, high availability, access control, and traffic control. This article will introduce the application of access control and flow control in Nginx reverse proxy. 1. Access control IP address blacklist/whitelist Nginx can implement access control on requests by configuring IP address blacklist or whitelist. IP addresses in the blacklist will be denied access, while IP addresses in the whitelist

Detailed explanation of reverse proxy and request forwarding in Gin framework Detailed explanation of reverse proxy and request forwarding in Gin framework Jun 23, 2023 am 11:43 AM

With the rapid development of web applications, more and more enterprises tend to use Golang language for development. In Golang development, using the Gin framework is a very popular choice. The Gin framework is a high-performance web framework that uses fasthttp as the HTTP engine and has a lightweight and elegant API design. In this article, we will delve into the application of reverse proxy and request forwarding in the Gin framework. The concept of reverse proxy The concept of reverse proxy is to use the proxy server to make the client

Nginx reverse proxy cache configuration to accelerate static web page access Nginx reverse proxy cache configuration to accelerate static web page access Jul 04, 2023 pm 06:09 PM

Nginx reverse proxy cache configuration to achieve static web page access acceleration Introduction: With the rapid development of the Internet, access speed has become a very important factor in website operations. In order to improve the access speed of web pages, we can use Nginx reverse proxy caching technology to accelerate web pages. This article will introduce how to use Nginx to configure reverse proxy cache to accelerate static web pages. Nginx reverse proxy cache configuration: Install Nginx: First you need to install the Nginx server, which can be done through apt-ge

How to use Nginx Proxy Manager to implement reverse proxy under HTTPS protocol How to use Nginx Proxy Manager to implement reverse proxy under HTTPS protocol Sep 26, 2023 am 08:40 AM

How to use NginxProxyManager to implement reverse proxy under HTTPS protocol. In recent years, with the popularity of the Internet and the diversification of application scenarios, the access methods of websites and applications have become more and more complex. In order to improve website access efficiency and security, many websites have begun to use reverse proxies to handle user requests. The reverse proxy for the HTTPS protocol plays an important role in protecting user privacy and ensuring communication security. This article will introduce how to use NginxProxy

Using Nginx Proxy Manager to implement reverse proxy load balancing strategy Using Nginx Proxy Manager to implement reverse proxy load balancing strategy Sep 26, 2023 pm 12:05 PM

Use NginxProxyManager to implement reverse proxy load balancing strategy NginxProxyManager is an Nginx-based proxy management tool that can help us easily implement reverse proxy and load balancing. By configuring NginxProxyManager, we can distribute requests to multiple backend servers to achieve load balancing and improve system availability and performance. 1. Install and configure NginxProxyManager

Nginx reverse proxy cache configuration to improve website access speed Nginx reverse proxy cache configuration to improve website access speed Jul 04, 2023 pm 10:01 PM

Nginx reverse proxy cache configuration to improve website access speed Introduction: In the Internet era, website access speed is crucial. A website that loads slowly makes users impatient and can lead to user churn. In order to improve the access speed of the website, a common way is to reduce the load on the server and speed up the loading of the page by using reverse proxy cache. This article will introduce how to use Nginx to configure reverse proxy cache to improve website access speed. 1. What is Nginx reverse proxy cache? Ngin

How to use Nginx Proxy Manager to build an efficient reverse proxy server How to use Nginx Proxy Manager to build an efficient reverse proxy server Sep 26, 2023 pm 03:31 PM

How to use NginxProxyManager to build an efficient reverse proxy server. With the development of the Internet, more and more network applications need to provide services through reverse proxy servers. NginxProxyManager is a powerful and easy-to-use tool that can help us quickly set up and manage a reverse proxy server. This article will introduce how to use NginxProxyManager to build an efficient reverse proxy server and give specific code examples. one

See all articles