撈油水
“今天的工作累死了,這好色的人類看了這麼多視訊,可把我忙的夠嗆”,負責資料轉發的阿斐癱坐在椅子上,沒了精神。
“别抱怨了,咱們所在的路由器就是幹這活的,這就是命啊,來抽一支放松下”,一旁負責WIFI連接配接的阿訊遞來了一支香煙。
阿斐接過香煙,掏出打火機點燃,猛吸了幾口。
阿斐和阿訊是路由器中的兩個子產品,打出生起就在路由器中工作,一直勤勤懇懇為人類能夠連接配接網際網路默默工作。
“你要是覺得這工作幹的沒有奔頭,要不咱想個辦法撈點油水?”,阿訊朝阿斐擠了下眼睛。
“咳~~,”,阿斐嗆了幾聲,“撈油水?怎麼個撈法?”
“你看啊,你每天經手那麼多資料包,随便挑一些HTTP協定傳輸的網頁,在裡面插入一點廣告,咱不就可以賺錢了嗎?”
“啊,這樣啊,這不太好吧,要是被發現了怎麼辦?”
阿訊吐了一個煙圈說到:“怕啥,就是一點廣告,不礙事,這些人類早就習慣了滿屏的廣告了,不差這一點。你要實在擔心,那咱設定一個機率,比如隻有20%的網頁插入廣告,這樣就不容易被發現了。”
“聽上去可行,隻是不知道具體怎麼操作呢?”,阿斐又問道。
“這樣,咱們分工下,廣告的事情我去負責,我去聯系下廣告商,至于如何修改資料包插入廣告,你去研究一下,好吧?”
“好嘞!”,說完阿斐和阿訊戳滅了手裡的煙頭,開始分頭行動。
網頁篡改
阿斐拿出了前端技術指南,研究了一晚上終于想到了方案,第二天找到阿訊商量。
“訊哥,我有辦法了!”
“哦,這麼快,說說看,什麼辦法?”
“我可以在HTML網頁中直接插入<iframe>标簽,裡面就可以嵌入我們的廣告啦!”,阿斐自豪的說到。
“嗨,就這啊,我還以為你有什麼好的辦法呢!這麼簡單還用你想”,阿訊有點失望。
“怎麼了,這有什麼不對嗎?”
“不是不對,你要考慮咱們的廣告又不是固定一個,你不能這樣固定寫死啊。”
“那簡單,換成<script>标簽,在網頁中插入一段JS代碼,去咱們的web伺服器動态拉取廣告,就可以靈活管理了,怎麼樣?”
“還是不行,浏覽器發現跨站腳本通路會禁止的!”,阿訊再一次否定了阿斐的方案。
“跨站腳本?這是什麼意思?”
“你回去再研究研究吧”,阿訊說完就離開了。
原先興高采烈的阿斐一下子像洩了氣的皮球,本以為可以大功告成沒想到被潑了一盆冷水。
阿訊走後,他又搬出來前端技術指南,打算研究一下這個跨站腳本是個什麼意思。
半晌過去,阿斐總算弄懂了,随即也想出了新的辦法,下午又找到了阿訊。
“迅哥,我又有辦法了。浏覽器隻會限制<script>中的JS代碼,但不會限制通過外部引入的JS哦”
“外部引入,什麼意思?”
“把我們的代碼寫在單獨的檔案中,然後像這樣引入到原網頁中,就可以搞定了”,阿斐一邊說,一遍給阿訊畫了一個示意圖:
<html>
<head>
<script src="http://xx.xx.xx.xx/xx/x.js"></script>
</head>
<body>
......
</body>
</html>
“嗯,剛好我這邊聯系了一個淘貝網的廣告,咱們來試一試”。
302重定向
按照這種辦法,阿斐和阿訊開始了他們撈油水的嘗試。
阿斐在資料轉發的時候,遇到HTTP協定的資料包,就看一下Content-Type是不是text/html,如果發現傳輸的内容是html網頁,就在<head>标簽中插入一個外部引用<script>,通過這個外部的JS腳本動态的生成一個<iframe>加載他們的廣告。
很快,阿訊就統計到了廣告的拉取資料和點選,看着數字蹭蹭的增長,他倆高興壞了。
阿斐和阿訊靠着修改資料包插入廣告賺得盆滿缽滿,不知不覺就過了一個月,意外卻發生了。
這一天,阿訊急匆匆的找到阿斐,“阿斐,最近廣告拉取和點選資料直線下滑啊,什麼情況啊?”“難道我們插入在網頁中的内容被安全軟體發現了?别着急,我想想辦法”,阿斐開始思考對策。
思考一會兒後,阿斐打了一個響指,“有了!咱們不修改HTML網頁!修改它引用的JS檔案”
阿訊一臉問号,沒太聽懂,“修改JS檔案,什麼意思?”
“迅哥,你看,現在的網頁一般都會引用很多JS檔案,比如JQuery這種公共的前端庫代碼,咱們要是在這個JQuery檔案中做點手腳,你想想呢?”,阿斐一邊說一邊挑了挑眉毛。
“你小子,腦子挺靈光嘛!挺不錯的想法,我給你再加一招”
“哦,還有什麼招數,願聞其詳”
“你也别每次修改資料包了,麻煩還容易出錯,要不提前把修改後的檔案準備好,到時候遇到對應檔案的請求,直接用一個302重定向,豈不是更省事?”,阿訊說完拍了拍阿斐的肩膀。
“302跳轉?我怎麼沒想到,佩服!我這就修改下方案”
當天,阿斐就修改了方案,很快就見效,廣告的拉取資料又漲回來了。
晚上人類已經睡了,兄弟倆好好的慶祝了一番,原以為在路由器幹活是一件艱苦差事,沒想到是個肥差,兩人喝了個酩酊大醉