刷票,分為多種限制,注冊用戶,驗證碼,以及IP限制。這個刷票網(wǎng)站,而不,是這個投票網(wǎng)站,限制了IP。如果要突破限制,我們需要了解如何獲得用戶的IP。本文給大家分享從刷票了解獲得客戶端IP的方法,需要的朋友可以參考下
前兩個星期幫一個朋友的親戚的孩子刷票,誰讓咱們是程序員呢。這當(dāng)中也遇到過重裝系統(tǒng),除灰塵,淘寶購物,盜QQ,下電影,某一個軟件為什么不能使用等等,要是說不會,他們就說你電腦技術(shù)不是挺牛逼的嗎,這點問題都解決不了。
刷票,分為多種限制,注冊用戶,驗證碼,以及IP限制。這個刷票網(wǎng)站,而不,是這個投票網(wǎng)站,限制了IP。如果要突破限制,我們需要了解如何獲得用戶的IP。
- getenv('HTTP_X_FORWARDED_FOR')
- getenv('HTTP_CLIENT_IP')
- getenv('REMOTE_ADDR')
HTTP_X_FORWARDED_FOR
這個是從http header頭部獲得,他的格式是A ip, B ip, C ip。出現(xiàn)這種情況的原因有兩種
一個網(wǎng)站由于流量過大,使用負(fù)載均衡,所以在應(yīng)用程序前面放一個負(fù)載均衡器,用戶無法直接訪問到。
用戶使用代理去訪問。
用戶先是使用A IP,每增加一層代理,這個頭就會在后面多增加一個IP,以逗號分割,最后到達(dá)真正的web容器。 只要是頭部獲得信息,都是可以被偽造的。所以這種情況使用A IP 有可能不是用戶的真實IP。所以我們這種情況,我們只能把連接負(fù)載均衡的IP當(dāng)做用戶的真實IP,至少這個數(shù)據(jù)是正確的。但是這個IP可能是用戶的代理IP,不是用戶的真實IP。不過這種情況至少比用戶的假ip好一些。
HTTP_CLIENT_IP
這個也是從header頭部獲得,本來是打算記錄用戶真實IP,但是很少使用到。
REMOTE_ADDR
這個就是獲得連接的IP,只有小網(wǎng)站才這么使用,直接把數(shù)據(jù)暴漏出去,站點就是一個單點,沒有任何的負(fù)載均衡。如果上層使用了pxory,這個數(shù)據(jù)就是proxy的IP。
而我作惡就是直接偽造x-forwarder-for數(shù)據(jù),然后欺騙他們,不過沒過幾天,這個漏洞被發(fā)現(xiàn)了,然后我就換成使用代理的方式的直接刷的。
新聞熱點
疑難解答