有时候你会发现,你在搜索引擎输入网站名称的时候,出来的网站信息是你们的,但是域名却是一个陌生的,这种情况可以基本确定网站被镜像了,那么究竟什么叫网站被镜像?

恶意镜像,也叫恶意克隆,恶意解析,是指有人通过域名 A 记录直接解析别人 IP 地址,从而得到一个在访问者眼中完全相同网站的过程。其工作原理基本上是这样子的:有用户访问镜像站点时,程序就会来正版的站点查询数据,并修改相关链接然后呈献给用户,实质上还是在读取原站的数据。严谨一点的解释:通过复制整个网站或部分网页内容并分配以不同域名和服务器,以此欺骗搜索引擎对同一站点或同一页面进行多次索引的行为 。

网站被镜像的危害

通俗的讲,恶意镜像者意图利用自己有一定权重的域名进行威压,通过某些手段复制了你的站点,除了域名不一样之外,其他内容一模一样,用户或许根本无法分辨。甚至对于一些新的站点,搜索引擎都会迷惑到底哪个是真的站点,那么就有可能正牌的网站被删除收录,而盗版的却被搜索引擎青睐。

虽然目前我们还不知道恶意镜像我们的网站到底有什么意图,但肯定对我们没什么好处,如果他这个域名有点什么不健康的信息,那么我们被镜像的站点有可能被污染掉,所以还是要警惕这个现象。

如何知道自己的网站是否被镜像

复制自己网站的完整标题(PS:查看自己站点首页源码,其中墨少离 - 个人小站,分享一些资源以及心得~),然后在谷歌和百度等搜索引擎里搜索,如搜索:intitle 墨少离 - 个人小站,分享一些资源以及心得,如果有其他网站的网站标题、描述及网站内容跟你的一样,只有域名不一样,那就是被镜像了。

如何处理网站被镜像

这类镜像看似一个完整的站点,其实上是每次用户访问镜像站点,程序就会来正版的站点查询数据,并修改相关链接然后呈献给用户。实质上还是在读取原站的数据。以下龙笑天下就列举几种解决方法,大家自行取舍使用!

方法

1:查清镜像网站的主机 Ip,通过禁止 Ip 来解决
获取镜像服务器 ip。注:这个 IP 可能不是 ping 到他域名的 IP
复制如下代码,新建一个 php 文件,并命名为“ip.php”上传到你的网站根目录。

<?php
function getIp()
{
    if ($_SERVER["HTTP_CLIENT_IP"] && strcasecmp($_SERVER["HTTP_CLIENT_IP"], "unknown")) {
        $ip = $_SERVER["HTTP_CLIENT_IP"];
    } else {
        if ($_SERVER["HTTP_X_FORWARDED_FOR"] && strcasecmp($_SERVER["HTTP_X_FORWARDED_FOR"], "unknown")) {
            $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
        } else {
            if ($_SERVER["REMOTE_ADDR"] && strcasecmp($_SERVER["REMOTE_ADDR"], "unknown")) {
                $ip = $_SERVER["REMOTE_ADDR"];
            } else {
                if (isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'],
                        "unknown")
                ) {
                    $ip = $_SERVER['REMOTE_ADDR'];
                } else {
                    $ip = "unknown";
                }
            }
        }
    }
    return ($ip);
}
function get_client_ip()
{
    $ip = null;
    if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $ip = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
        $ip = trim(current($ip));
    }
    return $ip;
}
echo "客户端1:";
echo getIp();
echo "<br>";
echo "客户端2:";
echo get_client_ip();
echo "<br>";
echo "服务器:";
echo $_SERVER['SERVER_ADDR'];
echo "<br>";

然后访问你网站的镜像站点,在地址后面加.../ip.php,查看镜像服务器IP
然后在防火墙上ban掉
这个时候你再刷新一下镜像站点,是不是已经 403 报错了呢?这个时候已经解决了这个镜像站点,然后就等待蜘蛛将其解决掉吧。
此方法的缺点就是如果镜像网站更换了 ip,那我们的屏蔽就失败了

方法 2:JS 来防护

在头部标签:

</head>

下添加

<script type="text/javascript">
if (document.location.host != "www.msl.la") {
location.href = location.href.replace(document.location.host,'www.msl.la');
}
</script>

或者

<script type="text/javascript">
rthost = window.location.host;
if (rthost != "www.msl.la") {
top.location.href = "https://www.msl.la";
}
</script>

注意:将上面代码中的www.msl.la改为你网站的首页主地址,如果我上面填写的不是我网站的主地址 www.msl.la,而是 msl.la 的话,就会导致网站一直刷新!另外一定要加密JS哈 不然会被替换掉的。 点击进入chinaz提供的JS混淆加密
注:经过本站测试,如果镜像站屏蔽了 JS,则该方法失效。所以,最好把方法 2 和方法 3 结合使用!

最后修改:2021 年 01 月 15 日 09 : 10 PM
如果觉得我的文章对你有用,请随意赞赏