防止网站被恶意反向代理的方法

防止网站被恶意反向代理的方法

反向代理

反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。

这是百度百科给出的解释,那么它的效果是什么呢? 就是我们所说的镜像站。

比如用户访问 http://xxxx.com/archives 这个页面,但xxxx.com实际上并不存在这个页面,他是偷偷从另外一台服务器上取回来,然后作为自己的内容返回用户。实际上表达出来的效果就是相当于他搭建了个和目标站一模一样的镜像站。

向代理的危害

他如果没有危害我们也不用去管它对吧,实际上是肯定有危害的。

  • 占用服务器资源,网站打开速度受影响。
  • 别人通过代理盗用你的网站数据,对用户与搜索引擎而言,相当于建了一个与你一模一样的站点,那么很有可能你的网站会被搜索引擎降权。
  • 其他诸如被友链或者联盟广告拉黑等危害。

防止反向代理方案:

3.1 JS方法

<script type="text/javascript">
if (document.domain != \'yixao.com\' && document.domain != \'blog.yixao.com\'){
    window.location.href=\'http://blog.yixao.com/\';
}
</script>

这段JS脚本的作用就是,如果地址栏中的网址不是 upx8.com 和 blog.upx8.com 中的任何一个,那么就把地址栏转向 http://xxxx.com

3.2 PHP方法

上面所说的JS方法虽然简单好用,但是对搜索引擎不怎么友好。下面是通过PHP的解决方法:

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

3.3 htaccess方法

.htaccess

RewriteEngine On
RewriteBase /
php_value auto_append_file proxy.php

proxy.php

因为我的站对收录需求不是特别高,所以就采用的JS方法,具体使用哪一种看自己的选择。

内容出处:,

声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.com/tech/30446.html

发表评论

登录后才能评论