掃描端口的進(jìn)階版,還有一種方式,就是去訂單庫(kù)查找這個(gè)IP是否下過(guò)訂單,如果沒(méi)有,那么就是安全的。如果有,那就不安全。有很多網(wǎng)站會(huì)使用這個(gè)方法。然而這其實(shí)只是一種自欺欺人的辦法而已。只需要下一單,就可以永久洗白自己的IP,天下還有比這更便宜的生意嗎?
因此,封IP,以及封IP的進(jìn)階版:掃描端口再封IP,都是沒(méi)用的。根本不要考慮從IP下手,因?yàn)閷?duì)手會(huì)用大量的時(shí)間考慮如何躲避IP封鎖,你干嘛和人家硬剛呢。這沒(méi)有任何意義。
那么,下一步你會(huì)考慮到什么?
很多站點(diǎn)的工程師會(huì)考慮:既然沒(méi)辦法阻止對(duì)方,那我就讓它變的不可讀吧。我會(huì)用圖片來(lái)渲染關(guān)鍵信息,比如價(jià)格。這樣,人眼可見(jiàn),機(jī)器識(shí)別不出來(lái)。
這個(gè)想法曾經(jīng)是正確的,然而,坑爹的技術(shù)發(fā)展,帶給我們一個(gè)坑爹的技術(shù),叫機(jī)器學(xué)習(xí)。順便帶動(dòng)了一個(gè)行業(yè)的迅猛發(fā)展,叫OCR。很快,識(shí)別圖像就不再是任何難題了。甚至連人眼都很難識(shí)別的驗(yàn)證碼,有的OCR都能搞定,比我肉眼識(shí)別率都高。更何況,現(xiàn)在有了打碼平臺(tái),用資本都可以搞定,都不需要技術(shù)。
那么,下一步你會(huì)考慮什么?
這個(gè)時(shí)候,后端工程師已經(jīng)沒(méi)有太多的辦法可以搞了。
不過(guò)后端搞不定的事情,一般都推給前端啊,前端從來(lái)都是后端搞不定問(wèn)題時(shí)的背鍋俠。 多少年來(lái)我們都是這么過(guò)來(lái)的。前端工程師這個(gè)時(shí)候就要勇敢地站出來(lái)了:
“都不要得瑟了,來(lái)比比誰(shuí)的前端知識(shí)牛逼,你牛逼我就讓你爬。”
我不知道這篇文章的讀者里有多少前端工程師,我只是想順便提一下:你們以后將會(huì)是更加搶手的人才。
3、前端工程師的逆襲
我們知道,一個(gè)數(shù)據(jù)要顯示到前端,不僅僅是后端輸出就完事了,前端要做大量的事情, 比如取到j(luò)son之后,至少要用template轉(zhuǎn)成html吧? 這已經(jīng)是步驟最少最簡(jiǎn)單的了。然后你總要用css渲染下吧? 這也不是什么難事。
等等,你還記得自己第一次做這個(gè)事情的時(shí)候的經(jīng)歷嗎?真的,不是什么難事嗎?
有沒(méi)有經(jīng)歷過(guò),一個(gè)html標(biāo)簽拼錯(cuò),或者沒(méi)有閉合,導(dǎo)致頁(yè)面錯(cuò)亂?一個(gè)css沒(méi)弄好,導(dǎo)致整個(gè)頁(yè)面都不知道飄到哪去了?
這些事情,你是不是很想讓別人再經(jīng)歷一次?
這件事情充分說(shuō)明了:讓一個(gè)資深的前端工程師來(lái)把事情搞復(fù)雜一點(diǎn),對(duì)方如果配備了資深前端工程師來(lái)破解,也需要耗費(fèi)3倍以上的時(shí)間。畢竟是讀別人的代碼,別人寫(xiě)代碼用了一分鐘,你總是要讀兩分鐘,然后罵一分鐘吧?這已經(jīng)算很少的了。如果對(duì)方?jīng)]有配備前端工程師。。。那么經(jīng)過(guò)一段時(shí)間,他們會(huì)成長(zhǎng)為前端工程師。
之后,由于前端工程師的待遇比爬蟲(chóng)工程師稍好一些,他們很快會(huì)離職做前端,既緩解了前端人才缺口,又可以讓對(duì)方缺人,重招。而他們一般是招后端做爬蟲(chóng),這些人需要再接受一次折磨,再次成長(zhǎng)為前端工程師。這不是很好的事情嗎。
所以,如果你手下的爬蟲(chóng)工程師離職率很高,請(qǐng)仔細(xì)思考下,是不是自己的招聘方向有問(wèn)題。
那么前端最坑爹的技術(shù)是什么呢?前端最坑爹的,也是最強(qiáng)大的,就是我們的:javascript。
Javascript有大量的花樣可以玩,毫不夸張的說(shuō),一周換一個(gè)feature(bug)給對(duì)方學(xué)習(xí),一年不帶重樣的。這個(gè)時(shí)候你就相當(dāng)于一個(gè)面試官,對(duì)方要通過(guò)你的面試才行。
舉個(gè)例子,Array.prototype里,有沒(méi)有map啊?什么時(shí)候有啊?你說(shuō)你是xx瀏覽器,那你這個(gè)應(yīng)該是有還是應(yīng)該沒(méi)有啊?你說(shuō)這個(gè)可以有啊?可是這個(gè)真沒(méi)有啊。那[]能不能在string里面獲取字符啊?哪個(gè)瀏覽器可以哪個(gè)不行啊?咦你為什么支持webkit前綴啊?等等,剛剛你還支持怎么現(xiàn)在不支持了啊?你聲明的不對(duì)啊。
這些對(duì)于前端都是簡(jiǎn)單的知識(shí),已經(jīng)習(xí)以為常了。但是對(duì)于后端來(lái)說(shuō)簡(jiǎn)直就是噩夢(mèng)。
然而,前端人員自己作死,研究出了一個(gè)東西,叫:nodejs?;趘8,秒殺所有的js運(yùn)行。
不過(guò)nodejs實(shí)現(xiàn)了大量的feature,都是瀏覽器不存在的。你隨隨便便訪問(wèn)一些東西(比如你為什么會(huì)支持process.exit),都會(huì)把node坑的好慘好慘。而且。。。瀏覽器里的js,你拉到后臺(tái)用nodejs跑,你是不是想到了什么安全漏洞?這個(gè)是不是叫,代碼與數(shù)據(jù)混合?如果他在js里跑點(diǎn)惡心的代碼,瀏覽器不支持但是node支持怎么辦?
還好,爬蟲(chóng)工程師還有phantomjs。但是,你怎么沒(méi)有定位啊? 哈哈,你終于模擬出了定位,但是不對(duì)啊,根據(jù)我當(dāng)前設(shè)置的安全策略你現(xiàn)在不應(yīng)該能定位啊?你是怎么定出來(lái)的?連phantomjs的作者自己都維護(hù)不下去了,你真的愿意繼續(xù)用嗎?