對于每一個客戶的問題,不管大小,都需要跟進追蹤到底,以獲得最佳的答案。
一個問題一個坑,留了坑,前路必將荊棘叢生;填了坑,前路即是坦途。這是東門人的做事態度和行事準則,也幫助我樹立了積極的人生觀。
如果同行也正在經受類似問題的困擾,希望同行可以通過這篇文章,在排查過程中能夠獲得一點啟發。
刷量?客戶反饋異常 IP 發送大量重復數據
從今年 2 月份起,我陸續收到客戶反饋:Web JS SDK 短時間內上報了大量重復的數據到銀聯商務,從而影響了客戶的分析、決策和制定運營計劃。對于這種情況我們通常稱之為 “刷量”。什么是刷量?
用戶所反饋的現象和刷量一致,有幾個異常 IP 短時間內密集發送 Web 端重復數據入庫。一個 IP 一天發送的重復數據甚至達到了幾十萬、上百萬條,這顯然不是一個正常用戶產生的行為數據。
我們查看了刷量時的用戶行為序列,如下圖,可以看到事件是重復循環觸發的,時間間隔在幾十毫秒。
針對此問題的反饋,我們進行了快速排查及提供初步行業資訊。 當時的排查思路:
一,會不會是客戶代碼 bug 導致重復觸發事件?
通過協調運維幫忙查詢事件日志,證明這些重復事件的 trackid(Web JS SDK 對發送數據生成的隨機數,每條采集和發送的數據都會有自己獨特的 trackid) 是一樣的。從這個方面看,基本排除了是客戶代碼 bug 導致的,因為即使是代碼重復觸發的事件,trackid 是不會重復的。
二,會不會是別人惡意獲取了東門的刷卡變現請求和數據體,使用工具或者腳本偽造請求,灌注臟數據到銀聯商務服務器?
Web JS SDK 采集的數據,默認使用 image 方式發送數據,GET 請求的數據接收地址和數據體都包含在請求的 URL 中,如圖所示:
只要復制該 Request URL 直接在瀏覽器地址欄訪問,或者使用腳本訪問,就會有一條一模一樣的數據入庫。這也符合 trackid 重復的情況,而且可以集中產生大量的請求,實現灌注臟數據。在本地使用腳本模擬,也能夠復現出來數據刷量的情況。
因此,推測的結論是:有人從集成了 Web JS SDK 的頁面上,截取了發送的數據請求,并通過腳本灌注臟數據進入銀聯商務。
根據這一結論,給客戶的方案是:將 Web JS SDK 的數據發送方式從 image 改成 ajax,這樣請求就會從 GET 變成 POST,在一定程度上避免將整個請求暴露在 URL 上;將出現過刷量的 IP 增加到后端的防火墻黑名單中。
問題又現!存疑,再深入排查
但是,似乎并沒有解決問題。在接下來的一個月,依舊陸續收到刷量的情況反饋。
我每天值班也都膽戰心驚,只要有客戶反饋刷量的情況,心里都咯噔一下:如果是有人惡意刷量,那么持續刷的動作有點說不通,是否有其他原因導致……問號一直懸在那里,始終無法說服自己。
我們內部組織 Web JS SDK 開發人員來集中開會討論,當時判斷刷量的可能原因:Web JS SDK 的 bug 導致?有人惡意攻擊,灌注的臟數據導致?后端服務中的 bug 導致的重復讀取數據導致?
為了驗證我們的推測,申請了一個客戶被刷量的環境查看,判斷不是 Web JS SDK 和后端服務的 bug ,目前的方向也只剩下是有人惡意攻擊了。Web JS SDK 在前端針對這種情況,沒有什么方法阻止,寄希望于后端可以將這樣的刷量數據去重。
由于 Web 端的數據入庫后,默認使用服務器時間,而服務端的去重邏輯是根據 trackid、time 等一起去重。像這樣的刷量數據入庫,雖然 trackid 一致,但是 time 相差只有幾十毫秒,因此無法去重。為了解決這一問題,可以在后端對于 Web 端數據的去重邏輯中將 time 字段去除,這樣就可以對刷量數據進行去重了。
不過,這只是一個臨時行業資訊,且該方案只針對集群版有效,有一定的局限性。另外,這種方案屬于出現了刷量后的被動處理。
“用力啊!”
對于此問題,書記也一直懷疑,每天見我必問:“有進展嗎?用力啊!”
由于并沒有找到確定的原因,我在網上查到 image 請求死循環的資料,如下圖所示:
于是我查看 Web JS SDK 源碼,發現已經對 image 請求的 onerror 做了 null 賦值處理,不會出現死循環現象。有點失落,這個方向也是不對的。
場景難以復現,多次轉機出現卻屢陷僵局
終于,轉折出現了。當我與被刷量客戶的技術做深入溝通時,有了一個重大發現。
4 月的某天,客戶拿到注冊用戶的手機號,通過技術人員聯系到這個用戶。發現用戶是正常操作,只是使用了某瀏覽器訪問頁面。當時,遠程客戶電腦進行操作,發現如果關閉瀏覽器后就會停止刷數據,瀏覽器處于開啟狀態就會一直刷數據。另外,發現用戶的瀏覽器版本比較老,讓其升級到最新的瀏覽器后,依然能夠出現刷數據的情況。同時,在訪問頁面時頁面會有卡頓情況,風扇也轉的特別厲害。另外,同一時刻該用戶對客戶自己頁面的一個水印圖片訪問量也很大,達到了 21.4 萬次。但是,對東門的 sa.gif 訪問量更多,達到 255.4 萬次。
不過當客戶的技術在自己電腦上模擬的時候,無法復現這個問題。查看當前穩定版的 M 瀏覽器內核為 Chrome 78.0.3904.108。通過這個發現,我去查看其他客戶的最近刷量數據,均發現其 UA 是 Chrome 78.0.3904.108, 指向 M 瀏覽器。通過以上線索推論:刷量問題很可能不是人為惡意攻擊,而是 M 瀏覽器訪問針對 image 數據請求可能有無限循環的 bug 導致的。
按照客戶提供的線索,我反向查看了下:以該內核版本為篩選條件,發現出現刷量的那天,有近 5300 個用戶使用該內核版本訪問了頁面,而出現刷量的情況只有 1~2 個用戶。從這方面看,刷量似乎不是必現的。本地使用多臺電腦,測試 M 瀏覽器均沒有能夠復現,問題似乎又陷入了僵局。
再換一條路,基于 M 瀏覽器的問題判斷,我當天我在瀏覽器社區留言,希望可以從瀏覽器的工作人員那里可以獲得答復和幫助,如圖所示。
工作人員通過 QQ 聯系了我,并與我溝通了基本情況。由于他們沒有受理過類似問題,希望我提供復現的頁面,但是我這邊沒有復現的頁面。因此,這個方向的路也堵住了。
感恩信任!與「客戶的用戶」的多次遠程、面基……
在走投無路時,幾經輾轉,為復現場景,我再次聯系客戶的技術人員,希望能夠聯系到之前兩位用戶。經過客戶的提前溝通,以及一系列的保密協議簽署后,最終提供兩位用戶的聯系方式。
起初我幾次聯系,都沒有能夠打通電話。而此時,刷量問題愈演愈烈。因為線索只剩下這一條了,我就硬著頭皮繼續打電話,終于還是撥通了。
在此很感激兩位用戶的信任。第一位用戶幫忙安裝了 TeamViewer,并提供了遠程。可惜的是這一次沒有復現刷量的情況。
不能匪⒖亚洲一卡二卡三卡_欧美系列一区_日韩欧美激情一区二区_国产精品二区在线观看_亚洲精品一区二_成人精品一二区_日韩中文字幕一区_欧美色欧美亚洲另类七区_欧美激情第六页_国产精品sss
欧美性xxxxxxxx| 极品尤物av久久免费看| 亚洲欧洲另类国产综合| 粉嫩一区二区三区性色av| 国产亚洲女人久久久久毛片| 国产一区二区三区在线观看免费视频 | 日韩一区二区免费在线电影| 亚洲bt欧美bt精品| 欧美mv日韩mv国产网站| www.亚洲精品| 五月天网站亚洲| 久久久一区二区三区捆绑**| 粉嫩aⅴ一区二区三区四区五区| 亚洲视频狠狠干| 91精品国产福利| 99久久精品情趣| 美女脱光内衣内裤视频久久影院| 国产区在线观看成人精品| 色综合中文字幕国产| 久久精品久久99精品久久| 亚洲国产精品高清| 7777精品伊人久久久大香线蕉 | 精品一二线国产| 亚洲另类在线制服丝袜| 欧美成人激情免费网| 91视频你懂的| 国产成人高清视频| 日韩精品亚洲一区| 亚洲欧美一区二区久久| 日韩欧美一区二区免费| 欧美在线一区二区| 国产精品系列在线观看| 日韩高清在线观看| 亚洲资源中文字幕| 亚洲视频一区在线观看| 国产日韩欧美综合一区| 日韩欧美国产一区二区在线播放| 97se狠狠狠综合亚洲狠狠| 国产精品99久| 久久国产生活片100| 天天操天天色综合| 亚洲123区在线观看| 一区二区三区在线观看动漫| 国产精品国产自产拍高清av王其| 欧美va亚洲va国产综合| 日韩一区二区三| 日韩欧美中文字幕制服| 69堂精品视频| 欧美一区二区三区视频在线观看| 欧美性色黄大片手机版| 色噜噜偷拍精品综合在线| av在线综合网| 91丨porny丨国产入口| 91色九色蝌蚪| 91免费视频网址| 色综合久久久久网| 在线免费观看成人短视频| 欧美色爱综合网| 91麻豆精品久久久久蜜臀| 欧美日韩日日摸| 欧美日韩一区高清| 9191成人精品久久| 欧美日韩成人一区二区| 在线精品视频免费观看| 一本色道久久综合亚洲91| av电影在线观看一区| 91麻豆123| 精品视频1区2区| 欧美久久久久久久久| 欧美老人xxxx18| 精品免费国产二区三区| 久久蜜臀精品av| 中文字幕亚洲一区二区va在线| 国产精品成人午夜| 亚洲一区二区三区中文字幕在线| 午夜精品影院在线观看| 蜜桃视频一区二区三区在线观看 | 爽好多水快深点欧美视频| 日本 国产 欧美色综合| 国产一区在线不卡| 成人app软件下载大全免费| 欧美午夜精品久久久久久超碰| 欧美一区二区精品久久911| 日韩欧美成人激情| 亚洲欧洲一区二区三区| 午夜精品一区二区三区电影天堂| 久久国产免费看| 成人av资源站| 717成人午夜免费福利电影| 久久久激情视频| 亚洲综合激情另类小说区| 日韩电影网1区2区| jvid福利写真一区二区三区| 3d成人h动漫网站入口| 中文字幕精品—区二区四季| 性欧美疯狂xxxxbbbb| 国产揄拍国内精品对白| 在线亚洲一区观看| 国产亚洲精品7777| 三级一区在线视频先锋| 99re热这里只有精品视频| 精品三级av在线| 亚洲成人综合在线| 成人免费高清在线观看| 日韩精品中文字幕一区二区三区| 亚洲欧美一区二区视频| 极品少妇xxxx精品少妇| 欧美日韩国产大片| 中文字幕在线观看一区二区| 久99久精品视频免费观看| 欧美日本国产一区| 亚洲日本丝袜连裤袜办公室| 久久av资源站| 在线亚洲一区观看| 国产精品视频一区二区三区不卡| 麻豆精品视频在线| 在线电影院国产精品| 亚洲欧美日韩一区二区三区在线观看| 奇米色一区二区| 4438x亚洲最大成人网| 亚洲一区二区三区中文字幕在线| 成人av在线网站| 国产精品丝袜在线| 成人精品鲁一区一区二区| 久久众筹精品私拍模特| 国产一区二区在线免费观看| 欧美一区二区性放荡片| 亚洲成人精品一区| 欧洲精品中文字幕| 亚洲精品免费一二三区| 色噜噜狠狠成人中文综合| 亚洲人一二三区| 一本大道av伊人久久综合| 中文字幕一区在线| 91麻豆.com| 亚洲与欧洲av电影| 欧美三区在线观看| 日本中文字幕一区二区有限公司| 欧美日韩一区二区在线观看 | 天天综合色天天综合| 欧美一区二区三区在线观看| 欧美视频一区在线| 亚洲成av人**亚洲成av**| 欧美日韩精品久久久| 日本特黄久久久高潮| 精品乱人伦一区二区三区| 国产一二三精品| 国产精品久久久久桃色tv| 丝袜美腿高跟呻吟高潮一区| 一区二区三区视频在线观看| 日产精品久久久久久久性色| 精品国产乱码久久久久久闺蜜| 国产成人精品www牛牛影视| 亚洲欧洲国产日韩| 欧美日韩在线不卡| 狠狠色狠狠色综合日日91app| 日本一区二区综合亚洲| 91麻豆免费视频| 三级久久三级久久| 精品少妇一区二区| 99国产精品久久久久久久久久久| 亚洲成人黄色小说| 久久一区二区视频| 99国产精品久久久久久久久久| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲欧洲韩国日本视频| 欧美三级韩国三级日本一级| 婷婷综合另类小说色区| 国产亚洲婷婷免费| 777欧美精品| 色婷婷综合久久久久中文一区二区| 男男成人高潮片免费网站| 国产精品久久久久一区| 欧美性大战xxxxx久久久| 国产在线精品一区在线观看麻豆| 国产精品高潮久久久久无| 欧美日韩中文国产| 成人午夜视频网站| 亚洲不卡一区二区三区| 久久精品视频免费观看| 欧美一区二区三区婷婷月色 | 国产美女精品一区二区三区| 亚洲特级片在线| 久久精品一区八戒影视| 欧美日韩亚洲高清一区二区| 成+人+亚洲+综合天堂| 日韩国产精品久久久| 亚洲色图欧美激情| 久久久久97国产精华液好用吗| 欧美日韩极品在线观看一区| 色综合网色综合| av中文字幕亚洲| 国产精品一级片在线观看| 日韩国产欧美三级| 亚洲一区二区综合| 国产精品伦理在线| 久久在线观看免费| 欧美一区二区在线免费观看| 欧美日韩精品一区二区在线播放| 91亚洲永久精品|