【新疆】網(wǎng)站被惡意鏡像怎么辦 一段代碼輕松搞定(全面版)
發(fā)布時間:2018-09-15 18:25:52 作者:admin 點擊:
有時候你會發(fā)現(xiàn),你在搜索引擎輸入網(wǎng)站名稱的時候,出來的網(wǎng)站信息是你們的,但是域名卻是一個陌生的,這種情況可以基本確定網(wǎng)站被鏡像了,那么究竟什么叫網(wǎng)站被鏡像?
惡意鏡像,也叫惡意克隆,惡意解析,是指有人通過域名 A 記錄直接解析別人 IP 地址,從而得到一個在訪問者眼中完全相同網(wǎng)站的過程。其工作原理基本上是這樣子的:有用戶訪問鏡像站點時,程序就會來正版的站點查詢數(shù)據(jù),并修改相關(guān)鏈接然后呈獻(xiàn)給用戶,實質(zhì)上還是在讀取原站的數(shù)據(jù)。嚴(yán)謹(jǐn)一點的解釋:通過復(fù)制整個網(wǎng)站或部分網(wǎng)頁內(nèi)容并分配以不同域名和服務(wù)器,以此欺騙搜索引擎對同一站點或同一頁面進(jìn)行多次索引的行為 。
網(wǎng)站被鏡像的危害
通俗的講,惡意鏡像者意圖利用自己有一定權(quán)重的域名進(jìn)行威壓,通過某些手段復(fù)制了你的站點,除了域名不一樣之外,其他內(nèi)容一模一樣,用戶或許根本無法分辨。甚至對于一些新的站點,搜索引擎都會迷惑到底哪個是真的站點,那么就有可能正牌的網(wǎng)站被刪除收錄,而盜版的卻被搜索引擎青睞。
雖然目前我們還不知道惡意鏡像我們的網(wǎng)站到底有什么意圖,但肯定對我們沒什么好處,如果他這個域名有點什么不健康的信息,那么我們被鏡像的站點有可能被污染掉,所以還是要警惕這個現(xiàn)象。
如何知道自己的網(wǎng)站是否被鏡像
復(fù)制自己網(wǎng)站的完整標(biāo)題(PS:查看自己站點首頁源碼),然后在谷歌和百度等搜索引擎里搜索,如搜索:網(wǎng)站建設(shè),如果有其他網(wǎng)站的網(wǎng)站標(biāo)題、描述及網(wǎng)站內(nèi)容跟你的一樣,只有域名不一樣,那就是被鏡像了。
如何處理網(wǎng)站被鏡像
這類鏡像看似一個完整的站點,其實上是每次用戶訪問鏡像站點,程序就會來正版的站點查詢數(shù)據(jù),并修改相關(guān)鏈接然后呈獻(xiàn)給用戶。實質(zhì)上還是在讀取原站的數(shù)據(jù)。以下龍笑天下就列舉幾種解決方法,大家自行取舍使用!
方法 1:查清鏡像網(wǎng)站的主機 Ip,通過禁止 Ip 來解決
本教程基于 WordPress 程序,其他系統(tǒng)請自測!
1、獲取鏡像服務(wù)器 ip。注:這個 IP 可能不是 ping 到他域名的 IP
復(fù)制如下代碼,新建一個 php 文件,并命名為“ip.php”上傳到你的網(wǎng)站根目錄。
3、然后打開你的.htaccess 文件,在后面加上如下代碼(自行修改為剛剛獲得的 ip)
這個時候你再刷新一下鏡像站點,是不是已經(jīng) 403 報錯了呢?這個時候已經(jīng)解決了這個鏡像站點,然后就等待蜘蛛將其解決掉吧。
此方法的缺點就是如果鏡像網(wǎng)站更換了 ip,那我們的屏蔽就失敗了
方法 2:JS 來防護
在頭部標(biāo)簽:取自 @boke112 導(dǎo)航
<head></head>
里加上下面的 JS 代碼:
注意:將上面代碼中的www.pweb123.com改為你網(wǎng)站的首頁主地址,如果我上面填寫的不是我網(wǎng)站的主地址 www.pweb123.com,而是 pweb.com 的話,就會導(dǎo)致網(wǎng)站一直刷新!
注:經(jīng)過本站測試,如果鏡像站屏蔽了 JS,則該方法失效。所以,最好把方法 2 和方法 3 結(jié)合使用!
(注意:以上方法感覺并不嚴(yán)嚴(yán)謹(jǐn),js代碼需要稍作修改,改成如下:)
將以下代碼加到網(wǎng)站的 header.php 中:代碼取自 @boke112
經(jīng)過我的測試,此代碼在 Chrome、IE11 和 360 極速瀏覽器上均有效,會跳轉(zhuǎn)到源站的原文章頁!在 Firefox 上則無效果,鏡像的文章頁并不會跳轉(zhuǎn)到原站...... 將代碼中 img 標(biāo)簽的 src 引用地址改為空格或無效的圖片地址后,在 Firefox 上也起作用了!
方法 4:借助 Img 的 Onerror 事件
代碼如下:
這種方法,可以有效防止js或者script代碼被過濾,算是比較有效的一種方法。
方法 5:通過禁止某些 User Agent 特征來防
①、PHP 通用版:
將下面的代碼貼到網(wǎng)站入口文件 index.php 中的第一個 <?php之后即可:
如果使用上面的 php 版本,WordPress 每次更新就會需要操作 index.php,比較麻煩,因此弄個專版。
將下面的代碼貼到 functions.php 中的最后一個 ?>之前即可:
(1)appach下的防盜鏈設(shè)置:在根目錄下創(chuàng)建.htaccess,里邊添加內(nèi)容:
(2)nginx防止盜鏈方法
(3)CDN的方式,現(xiàn)在的免費的cdn都可以設(shè)置防盜鏈已經(jīng)添加ip黑名單的功能,效果還不錯,如果不會代碼,可以試試這個!
內(nèi)容取自龍笑天下博客,做了部分修改和更正
惡意鏡像,也叫惡意克隆,惡意解析,是指有人通過域名 A 記錄直接解析別人 IP 地址,從而得到一個在訪問者眼中完全相同網(wǎng)站的過程。其工作原理基本上是這樣子的:有用戶訪問鏡像站點時,程序就會來正版的站點查詢數(shù)據(jù),并修改相關(guān)鏈接然后呈獻(xiàn)給用戶,實質(zhì)上還是在讀取原站的數(shù)據(jù)。嚴(yán)謹(jǐn)一點的解釋:通過復(fù)制整個網(wǎng)站或部分網(wǎng)頁內(nèi)容并分配以不同域名和服務(wù)器,以此欺騙搜索引擎對同一站點或同一頁面進(jìn)行多次索引的行為 。
網(wǎng)站被鏡像的危害
通俗的講,惡意鏡像者意圖利用自己有一定權(quán)重的域名進(jìn)行威壓,通過某些手段復(fù)制了你的站點,除了域名不一樣之外,其他內(nèi)容一模一樣,用戶或許根本無法分辨。甚至對于一些新的站點,搜索引擎都會迷惑到底哪個是真的站點,那么就有可能正牌的網(wǎng)站被刪除收錄,而盜版的卻被搜索引擎青睞。
雖然目前我們還不知道惡意鏡像我們的網(wǎng)站到底有什么意圖,但肯定對我們沒什么好處,如果他這個域名有點什么不健康的信息,那么我們被鏡像的站點有可能被污染掉,所以還是要警惕這個現(xiàn)象。
如何知道自己的網(wǎng)站是否被鏡像
復(fù)制自己網(wǎng)站的完整標(biāo)題(PS:查看自己站點首頁源碼),然后在谷歌和百度等搜索引擎里搜索,如搜索:網(wǎng)站建設(shè),如果有其他網(wǎng)站的網(wǎng)站標(biāo)題、描述及網(wǎng)站內(nèi)容跟你的一樣,只有域名不一樣,那就是被鏡像了。
如何處理網(wǎng)站被鏡像
這類鏡像看似一個完整的站點,其實上是每次用戶訪問鏡像站點,程序就會來正版的站點查詢數(shù)據(jù),并修改相關(guān)鏈接然后呈獻(xiàn)給用戶。實質(zhì)上還是在讀取原站的數(shù)據(jù)。以下龍笑天下就列舉幾種解決方法,大家自行取舍使用!
方法 1:查清鏡像網(wǎng)站的主機 Ip,通過禁止 Ip 來解決
本教程基于 WordPress 程序,其他系統(tǒng)請自測!
1、獲取鏡像服務(wù)器 ip。注:這個 IP 可能不是 ping 到他域名的 IP
復(fù)制如下代碼,新建一個 php 文件,并命名為“ip.php”上傳到你的網(wǎng)站根目錄。
2、然后訪問你網(wǎng)站的鏡像站點,在地址后面加.../ip.php,然后你就會在網(wǎng)站根目錄找到 ip.txt 文件了,打開復(fù)制里面的 ip 地址。
- <?php
- $file = "ip.txt"; //保存的文件名
- $ip = $_SERVER['REMOTE_ADDR'];
- $handle = fopen($file, 'a');
- fwrite($handle, "IP Address:");
- fwrite($handle, "$ip");
- fwrite($handle, "\n");
- fclose($handele);
- ?>
3、然后打開你的.htaccess 文件,在后面加上如下代碼(自行修改為剛剛獲得的 ip)
當(dāng)然,如果你使用 CDN,可以直接在 CDN 后臺添加 ip 黑名單
- #添加IP黑名單
- Order Deny,Allow
- Deny from 162.158.72.179
這個時候你再刷新一下鏡像站點,是不是已經(jīng) 403 報錯了呢?這個時候已經(jīng)解決了這個鏡像站點,然后就等待蜘蛛將其解決掉吧。
此方法的缺點就是如果鏡像網(wǎng)站更換了 ip,那我們的屏蔽就失敗了
方法 2:JS 來防護
在頭部標(biāo)簽:取自 @boke112 導(dǎo)航
<head></head>
里加上下面的 JS 代碼:
或加上以下的 JS 代碼:
- <script type="text/javascript">
- if (document.location.host != "www.pweb123.com") {
- location.href = location.href.replace(document.location.host,'www.pweb123.com');
- }
- </script>
- <script type="text/javascript">
- rthost = window.location.host;
- if (rthost != "www.pweb123.com") {
- top.location.href = "https://www.pweb123.com";
- }
- </script>
注意:將上面代碼中的www.pweb123.com改為你網(wǎng)站的首頁主地址,如果我上面填寫的不是我網(wǎng)站的主地址 www.pweb123.com,而是 pweb.com 的話,就會導(dǎo)致網(wǎng)站一直刷新!
注:經(jīng)過本站測試,如果鏡像站屏蔽了 JS,則該方法失效。所以,最好把方法 2 和方法 3 結(jié)合使用!
(注意:以上方法感覺并不嚴(yán)嚴(yán)謹(jǐn),js代碼需要稍作修改,改成如下:)
方法 3:Js 被屏蔽后防止鏡像的方法
- <script type="text/javascript">
- rthost = window.location.host;
- if (!rthost.indexOf("pweb123.com")) { //改成這樣
- top.location.href = "https://www.pweb123.com";
- }
- </script>
將以下代碼加到網(wǎng)站的 header.php 中:代碼取自 @boke112
有些網(wǎng)站會屏蔽掉 JS 代碼(如下面的代碼) :
- <div style="display:none;">
- <script>proxy2016 = false;</script>
- <img src="" onerror='setTimeout(function(){if(typeof(proxy2016)=="undefined"){window.location.host="http://www.pweb123.com";}},3000);'>
- </div>
所以 <script>proxy2016 = false;</script> 代碼將被過濾掉,img 的 onerror 設(shè)置超時時間 3000 毫秒,將運行函數(shù)部分,檢測是否還存在 proxy2016 字符,如果沒有找到就會將主機的 URL 改為 www.pweb123.com;為了安全起見,將 js 部分可以使用 js 代碼混淆(本站“JS 代碼混淆” 工具 或 站長之家 JS 混淆工具)。
- <script>...</script>
經(jīng)過我的測試,此代碼在 Chrome、IE11 和 360 極速瀏覽器上均有效,會跳轉(zhuǎn)到源站的原文章頁!在 Firefox 上則無效果,鏡像的文章頁并不會跳轉(zhuǎn)到原站...... 將代碼中 img 標(biāo)簽的 src 引用地址改為空格或無效的圖片地址后,在 Firefox 上也起作用了!
方法 4:借助 Img 的 Onerror 事件
代碼如下:
為了防止域名被替換,我故意做了拆分,這是一個seTimeout函數(shù) 沒3秒執(zhí)行一次
- <div style="display:none;">
- <script>tx = false;</script>
- <img src="" onerror='setTimeout(function(){if(typeof(tx)=="undefined"){window.location.href="http://pw"+"eb123"+".com";}},3000);'>
- </div>
這種方法,可以有效防止js或者script代碼被過濾,算是比較有效的一種方法。
方法 5:通過禁止某些 User Agent 特征來防
①、PHP 通用版:
將下面的代碼貼到網(wǎng)站入口文件 index.php 中的第一個 <?php之后即可:
②、Wordpress 適用版
- //防止惡意HTTP_USER_AGENT采集
- $ua = $_SERVER['HTTP_USER_AGENT'];
- $now_ua = array('FeedDemon ','BOT/0.1 (BOT for JCE)','CrawlDaddy ','Java','Feedly','UniversalFeedParser','ApacheBench','Swiftbot','ZmEu','Indy Library','oBot','jaunty','YandexBot','AhrefsBot','MJ12bot','WinHttp','EasouSpider','HttpClient','Microsoft URL Control','YYSpider','jaunty','Python-urllib','lightDeckReports Bot','PHP');
- if(!$ua) {
- header("Content-type: text/html; charset=utf-8");
- die('請勿采集本站,采集者木有小JJ');
- }else{
- foreach($now_ua as $value )
- if(eregi($value,$ua)) {
- header("Content-type: text/html; charset=utf-8");
- die('請勿采集本站,采集者木有小JJ!');
- }
- }
如果使用上面的 php 版本,WordPress 每次更新就會需要操作 index.php,比較麻煩,因此弄個專版。
將下面的代碼貼到 functions.php 中的最后一個 ?>之前即可:
方法6:直接在服務(wù)端設(shè)置防盜鏈
- //防止惡意HTTP_USER_AGENT采集
- add_action('wp_head', 'lxtx_deny_mirrored_request', 0);
- function lxtx_deny_mirrored_request()
- {
- $ua = $_SERVER['HTTP_USER_AGENT'];
- $now_ua = array('FeedDemon ','BOT/0.1 (BOT for JCE)','CrawlDaddy ','Java','Feedly','UniversalFeedParser','ApacheBench','Swiftbot','ZmEu','Indy Library','oBot','jaunty','YandexBot','AhrefsBot','MJ12bot','WinHttp','EasouSpider','HttpClient','Microsoft URL Control','YYSpider','jaunty','Python-urllib','lightDeckReports Bot','PHP');
- if(!$ua) {
- header("Content-type: text/html; charset=utf-8");
- wp_die('請勿采集本站,采集者木有小JJ!');
- }else{
- foreach($now_ua as $value )
- if(eregi($value,$ua)) {
- header("Content-type: text/html; charset=utf-8");
- wp_die('請勿采集本站,采集者木有小JJ!');
- }
- }
- }
(1)appach下的防盜鏈設(shè)置:在根目錄下創(chuàng)建.htaccess,里邊添加內(nèi)容:
RewriteCond %{HTTP_REFERER} !baidu.com代表放行域名,請放行自己域名以及搜索引擎的域名,可以根據(jù)自己需要添加,最下邊是指防止盜鏈的后綴,一般也就這些了。
- RewriteEngine On
- RewriteCond %{HTTP_REFERER} !^http://(.+.)?pweb123.com/ [NC]
- RewriteCond %{HTTP_REFERER} !^$
- RewriteCond %{HTTP_REFERER} !baidu.com [NC]
- RewriteCond %{HTTP_REFERER} !google.com [NC]
- RewriteCond %{HTTP_REFERER} !so.com [NC]
- RewriteCond %{HTTP_REFERER} !qq.com [NC]
- RewriteCond %{HTTP_REFERER} !weibo.com [NC]
- RewriteCond %{HTTP_REFERER} !sm.cn [NC]
- RewriteCond %{HTTP_REFERER} !sogou.com [NC]
- RewriteRule .*.(jpe?g|gif|bmp|png|css|js)$ /statics/images/nopic.gif [R,NC,L]
(2)nginx防止盜鏈方法
如果原來有:
- #SECURITY-START 防盜鏈配置
- location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|css|js)$
- {
- expires 30d;
- access_log off;
- valid_referers www.pweb123.com m.pweb123.com pweb123.com;
- if ($invalid_referer){
- rewrite ^/ http://pweb123.com/404/index.html;
- #return 404;
- }
- }
請找到,并且替換最上面的代碼
- location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
- {
- expires 30d;
- }
(3)CDN的方式,現(xiàn)在的免費的cdn都可以設(shè)置防盜鏈已經(jīng)添加ip黑名單的功能,效果還不錯,如果不會代碼,可以試試這個!
內(nèi)容取自龍笑天下博客,做了部分修改和更正
評論排行
- ·易優(yōu)cms小程序插件(76)
- ·微信小程序百度小程序記...(10)
- ·關(guān)于百度小程序微信小程...(2)
- ·電子圖書館網(wǎng)站(1)
- ·dedecms小程序插件最新升級日志(1)
- ·怎么選擇注冊有利于SEO優(yōu)...(0)
- ·網(wǎng)站文章內(nèi)容更新有哪些原則(0)
- ·修復(fù)list接口當(dāng)傳參more...(0)
- ·網(wǎng)站被惡意鏡像怎么辦 ...(0)
- ·已經(jīng)上線的小程序如何自...(0)
- ·網(wǎng)站建設(shè)是一門技術(shù)活 ...(0)
- ·企業(yè)網(wǎng)站建設(shè)的具體流程...(0)
- ·建議:請不要在工作中發(fā)...(0)
- ·移動端網(wǎng)站建設(shè)將何去何從?(0)
- ·論企業(yè)網(wǎng)站建設(shè)的行業(yè)現(xiàn)狀(0)
- ·phpcms小程序插件api接口...(0)
相關(guān)文章
相關(guān)欄目
閱讀排行
- 1小程序測試正常真機不顯示內(nèi)容問題處理(request:fail ssl hand shake error)
- 2網(wǎng)站被惡意鏡像怎么辦 一段代碼輕松搞定(全面版)
- 3phpcms開發(fā)小程序api插件1.2版本
- 4phpcms v9小程序demo內(nèi)容頁安卓有時候不顯示內(nèi)容bug修改
- 5虛擬主機屏蔽IP地址的方法
- 6阿里云備案詳細(xì)流程
- 7關(guān)于百度小程序微信小程序video標(biāo)簽不支持視頻封面autoplay等問題修復(fù)方法
- 8phpcms v9手機訪問電腦站一對一跳轉(zhuǎn)對應(yīng)手機站頁面插件
- 9FTP使用教程(以FlashFTP為例)
- 10網(wǎng)站安裝教程(phpcms v9程序)
更多+最新案例