时间:2014-12-15 作者:admin 分类: 技术交流
恶意反向代理的危害以及如何阻止网站被方向代理
首先肯定会占用服务器资源,网站打开速度受影响。
其次,别人通过代理盗用你的网站数据,对用户与不是那么智能的搜索引擎而言,相当于建了一个与你一模一样的站点,那么很有可能你的站点会进搜索引擎沙箱,甚至被降权。
如果被恶意代理的页面,还挂有你的联盟广告(比如Adsense),这就十分危险了,如果有人点击了上面的广告,很容易被Adsense封号。
还有很多危害,读者可以自行脑补……
js 级别的解决方案
<script type="text/javascript"> if (document.domain != 'nmap.cc' && document.domain != 'www.nmap.cc'){ window.location.href='https://nmap.cc/'; } </script>
脚本很简单,如果地址栏中的网址不是 zmrbk.com 和 www.zmrbk.com 中的任何一个,那么就把地址栏转向 http://www.zmrbk.com/ 。这段代码同样可以避免被人使用反向代理技术“伪造”一个跟自己一模一样的网站。
题外话:如何防止网站被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 != 'nmap.cc' || $proxy_rs != 'www.nmap.cc' ) { echo '非法反向代理访问'; //header('Location: http://www.nmap.cc/'); 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!="nmap.cc")&&($server!="www.nmap.cc")){ echo '本服务器禁止恶意反向代理!'; } ?>
这个是网上常用这种方法
标签: 反向代理