前段時間在檢查自家網站的百度關鍵詞排名的時候,發現了一家模仿我站內容的小站,發現大部分關鍵字排名都排在我們的前面以后,一開始以為是我們網站被采集了,結果不是,又以為是用dedecms的資料庫漏洞偷到我們的資料庫了,然而也不是,查了半天才發現是傳說中的反向代理,因為他們網頁上連百度統計都用的我們的,所以能看到他們網站的流量已經從幾個月前的100到200ip,到現在幾萬的ip,才對這件事引起了重視。
先說說我們網站的結構,我站是一個漫畫網站,網站前臺訪問是服務器A,圖片地址是用的是服務器B并且做了CDN加速。
而反向代理我們網站的那家網站,也是同樣的前臺服務器+圖片服務器分別反向代理并且快取我們的檔案,意思就是一旦我們的1.html頁面被反代以后,這個頁面就在他們服務器上固化了無法修改。
在網上查了很多屏蔽反向代理的方法:
1)用js解決辦法方案,在自己頁面上寫上js跳轉代碼啊,判斷域名不是我方網站就跳轉到我站。換過各種寫法,加變數,加備注,每天都在不同的位置加代碼。然而跳了幾次被對方發現后,對方直接在網頁上屏蔽了核心代碼段"document.domain",只要頁面上出現了該代碼,就會被替換成空白,此方案,陣亡。
2)在嘗試了各種方法以后,網上說最直接的辦法是封ip,在自家服務器上新建一個只有對方反代會去爬的頁面,然后開日志查該頁面的ip訪問,果不其然,對方是用模擬百度蜘蛛的方法,來小偷我們的內容。因為對方是自動鏡像我們網站,封禁ip以后,生效了2天,當對方發現無法反代的時候,也增加了反代的規則,每天封他一個ip,他就會換一個ip來接著反代,再后來,他們就放棄自動鏡像我們的網站了,改成了手動鏡像,每天等我站更新以后,他們才會開啟反代來抓取完內容然后關掉反代。依然能做到天天與我站內容同步。并且,也不快取我們的檔案了,這樣我們也無法抓取到對方的ip,此方案,陣亡。
3)僵持了幾天發現,他們也并不是每天手動鏡像我們網站,而是設定了延時鏡像,會在每天下午3點和晚上10點左右,自動來鏡像一次,如果鏡像我們內容失敗,他們的網站會短暫的報錯而無法訪問,這個時候他們才會人工手動操作。既然如此,機智的我又想了個辦法,既然不自動快取任何檔案了,那么核心的css和js檔案總是要來爬的吧?那么每天我更改自家網站的css和js檔案名,讓他們的網站CSS樣式和JS效果失效,造成了頁面錯亂。比如我站的css檔案名為css.css,那么每天我生成首頁的時候就會改為css201705291.css(用日期來標明,我將每日更新檔案名來惡心對方),然后每天守著重繪對方網站,一旦看到對方當天自動鏡像我站后樣式錯亂,我會馬上把css檔案名又改成css201705292.css,然后打開iis的日志監控這個時候還會去訪問css201705291的ip,守著他們手動更新的時候去爬css201705291.css這個檔案,然后再封他們ip,這個辦法持續了一周,然而這個步驟也是麻煩了自己,順便也惡心他們不讓他們舒服的反代我們,但每天的內容還是能做到和我站同步,更改網站css,js檔案名的方案,陣亡。
4)然而在惡心了他們幾天之后,發現他們的反向代理又有了新規則,他們開啟了自動鏡像,我用之前的老方法在特定的目錄生成html來抓爬頁面的ip,然而我發現每封禁一個ip,就會冒一個新ip出來,而那個只有反代會去爬的頁面,會被他們家的蜘蛛分別用2個ip爬2次,第一次的ip是固定的,如果該ip抓取失敗,第二個ip將會自動隨機成其他的ip。網上的文章說封對方幾個ip對方就消停了,然而不知道對方哪里搞來的那么多國外的ip,花了一上午時間ban了幾十個ip后,就算是封ip段也封不完。(附圖)

終于,持續一個月的勾心斗角相互惡心宣告結束,我表示無奈的放棄,看著自己百度統計里對方流量pv高過自己網站之后,向對方大佬低頭了。帖子寫的有點亂,不知道csdn的大神們有沒有懂我表達的意思,和有沒有對付這種無限ip來自動反向代理網站的辦法,別說找百度投訴了,百度有用就不會自己動手了。
uj5u.com熱心網友回復:
他鏡像了你,結果他的PV比你還高?爬網站不可能完全避免,只能盡量抓特征,記錄一下request header,看有沒有什么規律,比如useragent固定,比如refererrurl等等,根據這個特征去封。
uj5u.com熱心網友回復:
現在就是封不完了,每封一個ip,又會有其他的ip來自動爬網站,已經開始封類似的ip段了
還是謝謝你的回復
uj5u.com熱心網友回復:
我也有你這個問題,也一直無法解決。都查了不下上百篇帖子了。。。無法解決uj5u.com熱心網友回復:
圖片用refer欄位或者增加token進行驗證,防止自動下載你們的圖片,增加鏡像成本uj5u.com熱心網友回復:
可以想象別的辦法轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/101270.html
標籤:CDN
