从刷票了解如何获得客户端IP
我的個(gè)人博客,源地址:http://www.woniubi.cn/get_client_ip/
前兩個(gè)星期幫一個(gè)朋友的親戚的孩子刷票,誰(shuí)讓咱們是程序員呢。這當(dāng)中也遇到過(guò)重裝系統(tǒng),除灰塵,淘寶購(gòu)物,盜QQ,下電影,某一個(gè)軟件為什么不能使用等等,要是說(shuō)不會(huì),他們就說(shuō)你電腦技術(shù)不是挺牛逼的嗎,這點(diǎn)問(wèn)題都解決不了。
刷票,分為多種限制,注冊(cè)用戶,驗(yàn)證碼,以及IP限制。這個(gè)刷票網(wǎng)站,而不,是這個(gè)投票網(wǎng)站,限制了IP。如果要突破限制,我們需要了解如何獲得用戶的IP。
1:getenv('HTTP_X_FORWARDED_FOR') 2:getenv('HTTP_CLIENT_IP') 3:getenv('REMOTE_ADDR')HTTP_X_FORWARDED_FOR
這個(gè)是從http header頭部獲得,他的格式是A ip, B ip, C ip。出現(xiàn)這種情況的原因有兩種
用戶先是使用A IP,每增加一層代理,這個(gè)頭就會(huì)在后面多增加一個(gè)IP,以逗號(hào)分割,最后到達(dá)真正的web容器。只要是頭部獲得信息,都是可以被偽造的。所以這種情況使用A IP 有可能不是用戶的真實(shí)IP。所以我們這種情況,我們只能把連接負(fù)載均衡的IP當(dāng)做用戶的真實(shí)IP,至少這個(gè)數(shù)據(jù)是正確的。但是這個(gè)IP可能是用戶的代理IP,不是用戶的真實(shí)IP。不過(guò)這種情況至少比用戶的假ip好一些。
HTTP_CLIENT_IP
這個(gè)也是從header頭部獲得,本來(lái)是打算記錄用戶真實(shí)IP,但是很少使用到。
REMOTE_ADDR
這個(gè)就是獲得連接的IP,只有小網(wǎng)站才這么使用,直接把數(shù)據(jù)暴漏出去,站點(diǎn)就是一個(gè)單點(diǎn),沒(méi)有任何的負(fù)載均衡。如果上層使用了pxory,這個(gè)數(shù)據(jù)就是proxy的IP。
而我作惡就是直接偽造x-forwarder-for數(shù)據(jù),然后欺騙他們,不過(guò)沒(méi)過(guò)幾天,這個(gè)漏洞被發(fā)現(xiàn)了,然后我就換成使用代理的方式的直接刷的。
轉(zhuǎn)載于:https://www.cnblogs.com/HPhone/p/4824089.html
總結(jié)
以上是生活随笔為你收集整理的从刷票了解如何获得客户端IP的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: OC字符串截取方法
- 下一篇: HTTP 三次握手 建立连接 和 四