有极速快乐十分吗|极速快乐十分走势图|

如何阻止网站被恶意反向代理访问

几种级别的解决方案
服务器君一?#19981;?#36153;了254.980 ms进行了7?#38382;?#25454;库查询,努力地为您提供了这个页面。
试试阅读模式?希望听取您的建议

最近有人用小站数据,利用反向代理技术,做了个小偷站。用户访问的是他的网址,但实质上内容数据确是我的,这是一起恶意反向代理事件。

什么是反向代理?

?#20154;?#35828;正向代理的概念:

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

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

那么反向代理的概念呢?

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

但用户并不知情,这很正常,用户一般?#24049;?#31528;。这里所提到的 www.bavugt.tw 这个域名对应的服务器就设置了反向代理功能。

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

恶意反向代理的危害

网站被恶意反向代理有什?#27425;?#23475;呢?这里列举一下:

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

js 级别的解决方案

<script type="text/javascript">
if (document.domain != 'nowamagic.net' && document.domain != 'www.bavugt.tw'){
	window.location.href='http://www.bavugt.tw/';
}
</script>

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

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

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

php 级别的解决方案

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

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

<?php
$f = getenv("HTTP_X_FORWARDED_FOR");
$server = getenv("HTTP_HOST");
if (($f!="")&&($server!="nowamagic.net")&&($server!="www.bavugt.tw")){
	echo '本服务器禁止恶意反向代理!';
}
?>

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

Apache httpd.conf 级别的解决方案

这个 Apache 上如何禁止我还没捣?#26576;?#26469;, Nginx 倒可以,但是我用的是 Apache,如果你知道,请告诉我下~

本文地址:http://www.bavugt.tw/librarys/veda/detail/2493,欢迎访问原出处。

不打个分吗?

转载随意,但请带上本文地址:

http://www.bavugt.tw/librarys/veda/detail/2493

如果你认为这篇文章值得更多人阅读,欢迎使用下面的分享功能。
小提示:您可以按快捷键 Ctrl + D,或点此 加入收藏

大家都在看

阅读一百本计算机著作吧,少年

很多人觉得自己技术进步很慢,学习效?#23454;停?#25105;觉得一个重要原因是看的书少了。多少是多呢?起码得看3、4、5、6米吧。给个具体的数量,那就100本书吧。很多人知识结构不好而且不?#20302;常?#22240;为在特定领域有一个足够量的知?#35835;?足够?#24049;?#30340;知识结构,?#20302;?#21270;以后就足以应对大量未曾遇到过的问题。

奉劝自学者:构建特定领域的知识结构体系的路径中再也没有比学?#26696;?#19987;业的专业课程更好的了。如果我的知识结构体系足?#38405;?#25324;面试官的大部分甚至吞并他的知识结构体系的话,读到他言语中的一个词我们就已经知道他要表达什么,我们可以让他坐“上位”毕竟他是面试官,但是在知识结构体系以及心理上我们就居高临下。

所以,阅读一百本计算机著作吧,少年!

《JavaScript DOM编程艺术(第2版)》 基思(Jeremy Keith) (作者), 桑?#32423;?#26031;(Jeffrey Sambells) (作者), 魏忠 (?#29616;?#32773;), 杨涛 (译者), 王建桥 (译者), 杨晓云 (译者), 等 (译者)

《JavaScript DOM编程艺术(第2版)》内容简介:JavaScript是Web开发中最重要的一门语言,它强大而优美。无论是桌面开发,还是移动应用。JavaScript都是必须掌握的技术。W3C的DOM标准是开发Web应用的基石。已经得到所有现代浏览器的支持,这使得跨平台Web开发成了一件轻松惬意的事。《JavaScript DOM编程艺术(第2版)》是超级畅销书的升级版,?#27801;?#23548;Web标准的领军人物执笔,揭示了前端开发的真谛,是学习JavaScript和DOM开发的必读之作。

更多计算机宝库...

有极速快乐十分吗
安徽时时彩平台注册送钱 十一运夺金预测论坛 模拟人生4最新赚钱 升华拜克股票行情 体彩浙江十一选五走势图 福彩快3 瓷爵士加盟能赚钱吗 好运彩3官网 青海11选5啊彩网 21点游戏首选