近日惭载,在百度統(tǒng)計(jì)后臺(tái)中廣告泛濫,包括收流量描滔、代開發(fā)票、SEO含长、云主機(jī)等等廣告券腔,嚴(yán)重影響了正常的統(tǒng)計(jì)分析茎芋,所以想辦法解決這個(gè)問題颅眶,分享給站長們。
百度統(tǒng)計(jì)被刷廣告的癥狀
如果你的百度統(tǒng)計(jì)被惡意刷廣告的話涛酗,你會(huì)在百度統(tǒng)計(jì)后臺(tái)里的搜索詞、來源等看到各種廣告偷厦,包括收流量、代開發(fā)票只泼、SEO剖笙、云主機(jī)等等廣告请唱,例如我下面的截圖弥咪,很多真實(shí)的流量被刷到看不到十绑,而且流量也會(huì)造成統(tǒng)計(jì)不準(zhǔn)聚至,可能感覺最近幾天流浪猛增本橙,但實(shí)際真實(shí)流量并沒有那么大扳躬。
百度統(tǒng)計(jì)被刷廣告的原理
想要斬草除根,就需要知己知彼甚亭,明白他們操作的原理以后贷币,就可以有效的遏制他們無下限的刷廣告。
他們是這樣做的亏狰,先寫一個(gè)機(jī)器爬蟲役纹,爬取頁面內(nèi)容,尋找「#/hm.js」如果找到了就說明你使用了百度統(tǒng)計(jì)暇唾,然后再取后面的參數(shù)字管,就得到了你的百度統(tǒng)計(jì)ID啰挪,然后保存到數(shù)據(jù)庫,拿到你的的百度統(tǒng)計(jì)ID以后嘲叔,就可以進(jìn)行下一步亡呵,使用程序批量的給百度統(tǒng)計(jì)接口發(fā)送數(shù)據(jù),也就是說這些內(nèi)容他們根本不是真的去你的網(wǎng)站硫戈,而是直接給百度統(tǒng)計(jì)的接口提交了數(shù)據(jù)锰什,對(duì)你的網(wǎng)站流量沒有任何貢獻(xiàn),你只有看廣告的份丁逝。
我也是被刷廣告刷的很嚴(yán)重汁胆,是在忍無可忍,必須解決一下他們了霜幼。
百度統(tǒng)計(jì)被刷廣告的解決辦法
我們明白了他們的原理,現(xiàn)在就開始見招拆招罪既,破解他們的刷廣告的手段。
首先琢感,你的舊的統(tǒng)計(jì)代碼ID已經(jīng)被他們獲取到了丢间,保存到了他們的數(shù)據(jù)庫驹针,所以建議舊的代碼就放棄吧烘挫,去百度統(tǒng)計(jì)刪除掉,再新增網(wǎng)站饮六,你會(huì)獲得一個(gè)新的統(tǒng)計(jì)代碼。
然后苛蒲,為了讓他們的爬蟲程序識(shí)別不到百度統(tǒng)計(jì)代碼,我們需要將百度統(tǒng)計(jì)的URL地址做一個(gè)變換撤防,我虽风,的方式是將原有的百度統(tǒng)計(jì)URL地址打散成一個(gè)一個(gè)的字符串?dāng)?shù)組寄月,然后再拼裝起來,實(shí)例如下:
百度統(tǒng)計(jì)給我們的代碼:
var _hmt = _hmt || [];
(
function()
{
var
hm =
document
.createElement(
"script"
);
hm.src =
"https://#/hm.js?ee1f1987ccfc9bcd61a1d220f5ae41e1"
;
var
s =
document
.getElementsByTagName(
"script"
)[
0
];
s.parentNode.insertBefore(hm, s);})();
將百度統(tǒng)計(jì)的特征漾肮,也就是地址打散成數(shù)組,再組裝使用:
var _hmt = _hmt || [];
(
function()
{
var
hm =
document
.createElement(
"script"
);
var
analytics_bd =
'ee1f1987ccfc9bcd61a1d220f5ae41e1'
;
hm.src = [
'ht'
,
't'
,
'ps'
,
':/'
,
'/h'
,
'm'
,
'.'
,
'ba'
,
'i'
,
'd'
,
'u.c'
,
'o'
,
'm/'
,
'h'
,
'm'
,
'.j'
,
's?'
, analytics_bd].join(
''
);
var
s =
document
.getElementsByTagName(
"script"
)[
0
];
s.parentNode.insertBefore(hm, s);
}
)();
需要改動(dòng)的就只有一行茎毁,注意「hm.src = "https://#/hm.js?ee1f1987ccfc9bcd61a1d220f5ae41e1";」這行代碼忱辅,被拆散為數(shù)組,然后再拼裝起來使用墙懂。這樣他們的爬蟲程序就無法識(shí)別到你在使用百度統(tǒng)計(jì)了。