先说说正向代理的概念:
正向代理,也就是传说中的代理,他的工作原理就像一个跳板。简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器。这个代理服务器呢,他能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。从网站的角度,只在代理服务器来取内容的时候有一次记录,有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站。
结论就是,正向代理是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。
那么反向代理的概念呢?
比如用户访问 http://www.nowamagic.net/librarys/veda 这个页面,但www.nowamagic.net实际上并不存在这个页面,他是偷偷从另外一台服务器上取回来,然后作为自己的内容吐给用户。
但用户并不知情,这很正常,用户一般都很笨。这里所提到的 www.nowamagic.net 这个域名对应的服务器就设置了反向代理功能。
结论就是反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理 的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容原本就是它自己的一样。
恶意反向代理的危害
网站被恶意反向代理有什么危害呢?这里列举一下:
"codetitle">复制代码 代码如下:
<script type="text/javascript">
if (document.domain != 'nowamagic.net' && document.domain != 'www.nowamagic.net'){
window.location.href='http://www.nowamagic.net/';
}
</script>
脚本很简单,如果地址栏中的网址不是 nowamagic.net 和 www.nowamagic.net 中的任何一个,那么就把地址栏转向 http://www.nowamagic.net/ 。这段代码同样可以避免被人使用反向代理技术“伪造”一个跟自己一模一样的网站。
题外话:如何防止网站被iframe嵌入。有些人用iframe做了个框架,把我们网站嵌入其中,访客来浏览的时候,好像是在浏览他自己的网站一样,那么如何解决呢?以下方法可破:
复制代码 代码如下:
<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.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
复制代码 代码如下:
<?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,如果你知道,请告诉我下~
反向代理,网站镜像
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。