從刷票了解如何獲得客戶端IP

WBOY
發布: 2016-07-29 09:15:04
原創
1162 人瀏覽過

我的個人博客,源地址:http://www.woniubi.cn/get_client_ip/

前兩個星期幫一個朋友的親戚的孩子刷票,誰讓咱們是程序員呢。這當中也遇到過重裝系統,除灰塵,淘寶購物,盜QQ,下電影,某一個軟體為什麼不能使用等等,要是說不會,他們就說你電腦技術不是挺牛逼的嗎,這點問題都解決不了。

刷票,分為多種限制,註冊用戶,驗證碼,以及IP限制。這個刷票網站,而不,是這個投票網站,限制了IP。如果要突破限制,我們需要了解如何取得用戶的IP。

1:getenv('HTTP_X_FORWARDED_FOR')
2:getenv('HTTP_CLIENT_IP')
3:getenv('REMOTE_ADDR')
登入後複製

HTTP_X_FORWARDED_FOR

這個是從http header頭部取得,他的格式是A ip, B ip, C ip。造成這種情況的原因有兩種

  1. 一個網站由於流量過大,使用負載平衡,所以在應用程式前面放一個負載平衡器,用戶無法直接訪問。
  2. 用戶使用代理去存取。

用戶先是使用A IP,每增加一層代理,這個頭就會在後面多增加一個IP,以逗號分割,最後到達真正的web容器。只要是頭部獲得訊息,都是可以偽造的。所以這種情況使用A IP 有可能不是使用者的真實IP。所以我們這種情況,我們只能把連接負載平衡的IP當作用戶的真實IP,至少這個數據是正確的。但是這個IP可能是用戶的代理IP,不是用戶的真實IP。不過這種情況至少比用戶的假ip好。

HTTP_CLIENT_IP

這個也是從header頭部獲得,本來是打算記錄用戶真實IP,但是很少使用到。

REMOTE_ADDR

這個就是獲得連接的IP,只有小網站才這麼使用,直接把資料暴漏出去,站點就是一個單點,沒有任何的負載平衡。如果上層使用了pxory,這個資料就是proxy的IP。

而我作惡就是直接偽造x-forwarder-for數據,然後欺騙他們,不過沒過幾天,這個漏洞被發現了,然後我就換成使用代理的方式的直接刷的。

以上就介紹了從刷票了解如何獲得客戶端IP,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板