激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

站長之家,中國草根站長新聞、建站經(jīng)驗、素材資源交流平臺!
分類導(dǎo)航

站長新聞|網(wǎng)站運營|建站經(jīng)驗|網(wǎng)站優(yōu)化|站長資源|站長源碼|

服務(wù)器之家 - 站長之家 - 網(wǎng)站優(yōu)化 - 黑帽SEO高手技能:隱藏暗鏈的十大方法

黑帽SEO高手技能:隱藏暗鏈的十大方法

2020-10-22 21:49互聯(lián)網(wǎng) 網(wǎng)站優(yōu)化

暗鏈也稱黑鏈,即隱蔽鏈接,是黑帽seo的作弊手法。暗鏈其目的就是利用高權(quán)重網(wǎng)站外鏈來提升自身站點排名。

一、介紹

暗鏈也稱黑鏈,即隱蔽鏈接,是黑帽seo的作弊手法。暗鏈其目的就是利用高權(quán)重網(wǎng)站外鏈來提升自身站點排名。

黑帽SEO高手技能:隱藏暗鏈的十大方法

一般來說,暗鏈是由攻擊者入侵網(wǎng)站后植入的,暗鏈在網(wǎng)頁頁面上不可見或者極易被忽略,但是搜索引擎仍然可以通過分析網(wǎng)頁的源代碼收錄這些鏈接,如果有大量網(wǎng)站甚至一些高權(quán)重的網(wǎng)站都鏈向它們,積少成多,可以迅速提高權(quán)重,獲得高額流量。

暗鏈指向的網(wǎng)站絕大多數(shù)是博彩、非法游戲私服等黑灰色產(chǎn)業(yè),其中博彩類域名數(shù)量最多。而暗鏈宿主往往是權(quán)重較高的網(wǎng)頁,例如ZF網(wǎng)站、教育網(wǎng)站等。

比如:一個看試正常的網(wǎng)頁:

黑帽SEO高手技能:隱藏暗鏈的十大方法

 

其源碼中可能含有的暗鏈:

二、暗鏈隱藏方式

暗鏈主要利用css、JS來控制鏈接的隱藏方式,通過對大量樣本的分析,本文總結(jié)了幾種常用掛暗鏈的手法。

1、 鏈接位于頁面可見范圍之外。可以將position位置屬性設(shè)置成負數(shù),則鏈接無法顯示在可見頁面之內(nèi)。

  1. <div style="position:absolute;left:expression_r(1-900);top:expression_r(3-999);"><a href="暗鏈">關(guān)鍵詞</a></div>  
  2. <div style="position:absolute; top:-999px;right:-999px;"><a herf="暗鏈">關(guān)鍵詞</a></div>  
  3. <div style="text-indent:-9999em; display:block;float:left"><aherf="暗鏈">關(guān)鍵詞</a></div> 
元素向前縮進為負值,即在可見范圍之外

2、鏈接顏色與背景色相同,鏈接文字使用低像素。

  1. <a herf=# style="color:#FFFFFF; ">關(guān)鍵詞</a> 
  2. <a herf=# style="font-size:1px;">關(guān)鍵詞</a> 
  3. <a herf=# style="line-height:1px;">關(guān)鍵詞</a> 

3、利用跑馬燈marquee屬性,鏈接以跑馬燈形式迅速閃現(xiàn),跑馬燈的長寬設(shè)置很小,同時將閃現(xiàn)的頻率設(shè)置很大,使得查看頁面時不會有任何影響。

  1. <marquee height=1width=4 scrollamount=3000scrolldelay=20000><a href= "暗鏈">關(guān)鍵字</a></marquee> 

4、利用display:none和visibility:hidden隱藏區(qū)域里的內(nèi)容。

  1. <div style="display:none;"><a href="暗鏈">關(guān)鍵字  </a></div> 
  2. <div style="visibility:hidden;"><a href="暗鏈">關(guān)鍵字  </a></div> 

以上四種是慣用的掛暗鏈的方法,但搜索引擎也可能會對這些方法進行識別和打擊,如果代碼沒有任何處理的話,那么這些外鏈將有可能全部被降權(quán)。即便如此,這幾種仍然是目前最常見的暗鏈隱藏方法。為了不被搜索引擎識別,攻擊者利用JS向頁面中寫入ccs樣式,并設(shè)置其屬性,見5,6。由于搜索引擎對這種JS代碼的內(nèi)部實質(zhì)意義還無法識別,因此也成為了掛暗鏈的一種常見形式。

5、利用JS向頁面中寫入ccs樣式。

  1. <script language="JAVAscript" type="text/JavaScript"
  2. document.write("<div style='display:none;'>"); 
  3. </script> 
  4. <div><ahref= "暗鏈">關(guān)鍵字  </a> 
  5. <script language="javascript" type="text/javascript"
  6. document.write("</div>"); 
  7. </script> 

注:除了設(shè)置display:none屬性外,也可以設(shè)置前面我們提到的其他隱藏方法。

6、利用JS修改樣式屬性

  1. <div id="anlian"> <a href="暗鏈">關(guān)鍵字</a></div> 
  2. <script language=javascript> 
  3. document.getElementById("anlian").style.display="n"+"one" 
  4. </script> 

7、利用遮擋層隱藏暗鏈。z-index屬性可以設(shè)置元素的堆疊順序,z-index值越小其堆疊順序越靠后,因此可以利用其它層來遮擋暗鏈。

  1. <div class="father" style="position:relative"
  2.    <div class="topLever" style="position:absolute;left:0;top:0;z-index:999; width:90%;height:100px;"> 遮擋層:可以放圖片等  </div> 
  3.    <div class="hideDontent">隱蔽層:可以放暗鏈</div> 
  4. </div> 

8、利用iframe創(chuàng)建隱藏的內(nèi)聯(lián)框架

  1. <iframe src="暗鏈" style="display:none"></iframe> 

style設(shè)置display為none,則無法顯示內(nèi)聯(lián)框,可隱藏暗鏈。

或者也可以用JS代碼寫入,會更隱蔽一些:

  1. <script> 
  2. document.write('<iframe src="暗鏈" style="display:none"></iframe>'
  3. </script> 

使用JS對內(nèi)容進行隱藏這種手段中,高手還可能使用混淆加密,比如用JShaman等JS代碼混淆平臺對JS代碼進行處理,如上面這一段JS代碼經(jīng)JShaman混淆后,可以成為:

  1. <script> 
  2. var _0x3c56 = [ 
  3.     'write'
  4.     '<iframe\\x20src=\\x22暗鏈\\x22\\x20style=\\x22display:none\\x22></iframe>' 
  5. ]; 
  6. var _0x1479 = function (_0x5a7d11, _0x279445) { 
  7.     _0x5a7d11 = _0x5a7d11 - 0x0; 
  8.     var _0x311e11 = _0x3c56[_0x5a7d11]; 
  9.     return _0x311e11; 
  10. }; 
  11. document[_0x1479('0x0')](_0x1479('0x1')); 
  12. </script> 

甚至:

  1. <script> 
  2. var _0x109e = [ 
  3.     'd3JpdGU='
  4.     'PGlmcmFtZSBzcmM9Iuaal+mTviIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+PC9pZnJhbWU+' 
  5. ]; 
  6. var _0x3eee = function (_0x30aeac, _0x5ab95f) { 
  7.     _0x30aeac = _0x30aeac - 0x0; 
  8.     var _0x589d11 = _0x109e[_0x30aeac]; 
  9.     if (_0x3eee['KtIQvB'] === undefined) { 
  10.         (function () { 
  11.             var _0x394a34 = function () { 
  12.                 var _0x3915e0; 
  13.                 try { 
  14.                     _0x3915e0 = Function('return\\x20(function()\\x20' + '{}.constructor(\\x22return\\x20this\\x22)(\\x20)' + ');')(); 
  15.                 } catch (_0x523ee0) { 
  16.                     _0x3915e0 = window; 
  17.                 } 
  18.                 return _0x3915e0; 
  19.             }; 
  20.             var _0x467e0e = _0x394a34(); 
  21.             var _0x535ad7 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
  22.             _0x467e0e['atob'] || (_0x467e0e['atob'] = function (_0xc8f13a) { 
  23.                 var _0x71b2cc = String(_0xc8f13a)['replace'](/=+$/, ''); 
  24.                 for (var _0x486eb7 = 0x0, _0x46460f, _0x3cc52b, _0x531b6d = 0x0, _0x438bde = ''; _0x3cc52b = _0x71b2cc['charAt'](_0x531b6d++); ~_0x3cc52b && (_0x46460f = _0x486eb7 % 0x4 ? _0x46460f * 0x40 + _0x3cc52b : _0x3cc52b, _0x486eb7++ % 0x4) ? _0x438bde += String['fromCharCode'](0xff & _0x46460f >> (-0x2 * _0x486eb7 & 0x6)) : 0x0) { 
  25.                     _0x3cc52b = _0x535ad7['indexOf'](_0x3cc52b); 
  26.                 } 
  27.                 return _0x438bde; 
  28.             }); 
  29.         }()); 
  30.         _0x3eee['rdHpXB'] = function (_0xe315b9) { 
  31.             var _0x14340b = atob(_0xe315b9); 
  32.             var _0x35a6d6 = []; 
  33.             for (var _0x453fdd = 0x0, _0x32d7e4 = _0x14340b['length']; _0x453fdd < _0x32d7e4; _0x453fdd++) { 
  34.                 _0x35a6d6 += '%' + ('00' + _0x14340b['charCodeAt'](_0x453fdd)['toString'](0x10))['slice'](-0x2); 
  35.             } 
  36.             return decodeURIComponent(_0x35a6d6); 
  37.         }; 
  38.         _0x3eee['innGSt'] = {}; 
  39.         _0x3eee['KtIQvB'] = !![]; 
  40.     } 
  41.     var _0x2b07cc = _0x3eee['innGSt'][_0x30aeac]; 
  42.     if (_0x2b07cc === undefined) { 
  43.         _0x589d11 = _0x3eee['rdHpXB'](_0x589d11); 
  44.         _0x3eee['innGSt'][_0x30aeac] = _0x589d11; 
  45.     } else { 
  46.         _0x589d11 = _0x2b07cc; 
  47.     } 
  48.     return _0x589d11; 
  49. }; 
  50. document[_0x3eee('0x0')](_0x3eee('0x1')); 
  51. </script> 

也就是經(jīng)過JShaman混淆的JS代碼,可以隱藏上面的如暗鏈地址、iframe關(guān)鍵字、style中的display:none等信息。使插入的腳本簡直無法被發(fā)現(xiàn)。簡直不要太可怕!這個方式應(yīng)該著重被牢記。

 

9、利用重定向機制。在跳轉(zhuǎn)之前的頁面寫入不相關(guān)的鏈接,通過快速跳轉(zhuǎn)到正常頁面,使用戶無法察覺。

  1. <script> setTimeout("window.location= "index.html",0.1); </script> 
  2. <body leftMargin=0 topMargin=0 scroll=no><div> <a href=“暗鏈”>關(guān)鍵字 </div></body> 

利用setTimeout 在跳轉(zhuǎn)到正常頁面index.html之前有0.1s停留在當前頁面,頁面中的暗鏈不易被察覺。

  1. <script language="javascript" type="text/javascript">  
  2. window.location.href="lianjie"
  3. </script>  

10、利用<meta>標簽插入鏈接。位于網(wǎng)頁html源碼頭部內(nèi)的<meta>標簽,提供有關(guān)頁面的元信息,是搜索引擎判定網(wǎng)頁內(nèi)容的主要根據(jù), 攻擊者可以在標簽中插入大量與網(wǎng)頁不相關(guān)的詞語以及鏈接。

  1. <meta http-equiv="refresh" content="1"; url="暗鏈" /> 
  2. <meta name="xxxx"content="黑鏈及描述"

三、總結(jié)

以上總結(jié)了掛暗鏈的常用手法,相信還有一些其他方式被攻擊者利用,不難發(fā)現(xiàn)凡是可以隱藏文本信息的地方都可以掛暗鏈,比如我們可以通過創(chuàng)建下拉菜單,將非法鏈接混合在合法菜單之中,如果菜單足夠長或者沒人去點擊的話,也很難察覺。

被植入暗鏈的網(wǎng)頁不僅對于網(wǎng)站本身的信譽形象產(chǎn)生負面影響,更嚴重擾亂了搜索引擎排名機制。為了防止網(wǎng)站被掛黑鏈,最重要的當然是給網(wǎng)站部署WAF,大型網(wǎng)站資金預(yù)算充足的可以購買硬件或云WAF,中小網(wǎng)站甚至個人網(wǎng)站可以部署軟件WAF,如:ShareWAF,其成本低、易接入。

做好網(wǎng)站安全防護是防掛馬的最佳手段。此外,我們還需加強對網(wǎng)站的監(jiān)管,采取一些防范措施,比如定期查看網(wǎng)站的源代碼,使用站長工作檢查黑鏈、死鏈,定期進行網(wǎng)站漏洞檢測、漏洞修復(fù)、后門檢測等,提高網(wǎng)站安全性等。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品国产一区二区三 | 国产午夜亚洲精品午夜鲁丝片 | 激情午夜天 | 天天操天天碰 | 一级成人黄色片 | 最新在线中文字幕 | 国产精品剧情一区二区三区 | 北京一级毛片 | 免费一级毛片电影 | 亚洲小视频在线 | 成人国产精品一区 | 午夜精品区 | 久草成人在线 | 一级毛片在线观看免费 | 免费网站看v片在线a | 久久丝袜脚交足黄网站免费 | 亚洲精品tv久久久久久久久久 | 美国黄色毛片女人性生活片 | 久久影院在线观看 | 成人午夜视频免费在线观看 | 成人午夜免费看 | 不卡中文一二三区 | 免费a级毛片大学生免费观看 | 国产亚洲欧美日韩高清 | 精品国产看高清国产毛片 | 日韩精品a在线观看 | 免费观看一级欧美大 | 久久精品视频黄色 | 高潮娇喘嗯啊~文字 | 中文字幕亚洲一区二区三区 | 久草在线综合 | 99久久精约久久久久久清纯 | 国产午夜精品久久久 | 国产美女视频一区 | 久久免费看片 | 在线成人影视 | 久久成人免费网站 | 欧美高清在线精品一区二区不卡 | 毛片在线免费视频 | 亚洲日本欧美 | 性少妇videosexfreexxx片 |