引言
如果是小站或者刚建立的站,则不用担心。但如果有名气了,便可能出现小人反代你的网站,做成所谓的“镜像站点”、“盗版站点”。
这篇文章就是介绍如何防止一些简单的反代小人。
实施方法
一、使用.htaccess禁止反向代理
在站点根目录下新建 .htaccess
文件,然后添加如下的内容:
RewriteEngine On
RewriteBase /
php_value auto_append_file proxy.php
再新建proxy.php
文件,添加如下代码,这里提供了两个方案。
方案 a:
<?php
$f = getenv("HTTP_X_FORWARDED_FOR");
$url = "https://www.skyqian.com";
if ($f!=""){
print "";
print "";
}
?>
方案 b:
<?php
$f = getenv("HTTP_X_FORWARDED_FOR");
$server = getenv("HTTP_HOST");
if (($f!="")&&($server!="qian.blue")&&($server!="www.qian,blue")){
echo '本服务器禁止恶意反向代理!';
}
?>
二、使用js代码判断域名
js级别的解决方案虽然能够让恶意代理页面跳回来,但是对搜索引擎不怎么友好。
<script type="text/javascript">
if (document.domain != 'qian.blue' && document.domain != 'www.skyqian.com'){
window.location.href='https://www.skyqian.com/';
}
</script>
三、使用php判断域名
这种方法跟使用js代码来跳转域名是一个道理,都是先判断域名,如果是代理的域名则进行跳转,这里提供了两个方案,代码如下:
方案 a:
<?php
if($_SERVER['SERVER_NAME'] != 'qian.blue' ||$_SERVER['SERVER_NAME'] != 'www.skyqian.com' )
{
exit('非法反向代理访问勿埋我心');
}
?>
方案 b:
<?php
$proxy_rs = $this -> proxy_filter();
if( $proxy_rs != 'qian.blue' || $proxy_rs != 'www.skyqian.com' )
{
echo '非法反向代理访问';
//header('Location: http://www.skyqian.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'];
}
?>
如何防止网站被iframe嵌入
这是什么意思?
意思就是有些人用iframe做了个框架,把我们网站嵌入其中,访客来浏览的时候,好像是在浏览他自己的网站一样,这种行为也属实“优秀”。
解决办法
<script type="text/javascript">
if (top.location != self.location)top.location=self.location;
</script>
结语
以上方法是针对实时代理,如果对方用了缓存,可能就麻烦了~
可以试试把防盗链打来,并把CSS、JS文件的路径换一下,尝试搞乱对方的盗版站点。
另外:一定要记得禁止你服务器直接使用服务器IP访问你站点的功能,不然别人随便解析个域名到你IP就能访问你的网站内容了。
网站名称:汐塔魔法屋
网站链接:https://blog.sinzmise.top/
网站头像:https://blog.sinzmise.top/images/icon.png
网站简介:种下一颗有故事的种子,让它带着魔法和奇迹生根发芽
【本站网址】:https://psychol.cn
【本站头像】:https://psychol.cn/w/logo.png
【本站描述】:PsycholCN致力于普及心理健康相关知识,并改善特定人群的歧视及误解等问题。
更改后https://yyxy.top/