關於我自己

我的相片
New York, New York, United States
我叫江奕賢啦

2007年6月21日

抱歉 我不是故意要給你 buffer overflow 的

最近好幾批人馬用程式的方式 來我的網站抓資料回去 一直觸發我用來監視server的algorithms
造成我的log檔一天大概800MB
所以我就處理了一下

1. 先嘗試亂數給她資料 instead of 很花CPU的真的去算資料給她
結果:CPU使用率降到了3% 不過 我還是不滿意
2. 再來 我直接redirect給她固定的.html網頁 連亂數也省了 本來想說看他的程式會不會發現資料沒變 就不重傳資料
結果:沒什麼差別 就算告訴他nothing change, 或access denied, 他還是會一直來要
而且呢 他還要更快 因為他認為他上一個工作做完了
既然連告訴他access denied他都還是會來用我一點點頻寬 跟我要下一個access denied...
這種一看就是最笨的bot 你越擋 他抓越快
3. 但是呢 我發現 我用301 redirect出去的link他有去抓

這種情況最簡單了 instead of 不給她, 你當然就丟一個超大的問題給她 就解決了
所以 我就幫他選了個網路上頻寬很大的網站(microsoft)上面的一個不小的檔案(250MB)
然後用rewriterule給她個 HTTP response 301, 轉向到那個檔案
他的程式就乖乖的去抓檔案了
這樣 我們兩就都很開心了 他的程式很努力的工作 他很開心 我的電腦輕鬆工作 我很開心

後續報導:
理論上 不成功的話 (比如說 microsoft不願意傳給她那個檔案) 他應該馬上又來跟我要下一個link
理論上 成功的話 他的程式應該每download完250MB還會再來跟我要下一個250MB...的link
可是看起來好像就沒有來跟我要了 可能是他buffer被塞爆了吧
要不然這個時代250MB應該要不了多久時間吧

抱歉 我不是故意要給你 buffer overflow 的
我...我...我...下次會給你一個小一點的...shellcode的...

Mr. M: ㄟ...Microsoft, 你很沒良心耶, 哪有人shellcode 250MB 的啦
Mr. Microsoft: 你log都有800MB 我shellcode還比你小ㄌㄟ
Mr. M: 那是大家喜歡我的網站 流量眾多
Mr. Microsoft: 屁啦

沒有留言: