PHP擷取真實IP 類比IP 隱藏IP 代理IP 偽裝IP 高匿代理 普匿代理 透明代理IP
我粗略列舉6種PHP業內、國際各大開源系統擷取使用者真實IP的案例(包括Magento Zencart Zend Framework Yii...國內的就不提了吧!通殺!):
PHP擷取使用者真實IP方法1:
PHP擷取使用者真實IP方法2:
PHP擷取使用者真實IP方法3:
PHP擷取使用者真實IP方法4:
PHP擷取使用者真實IP方法5:
PHP擷取使用者真實IP方法6:
擷取使用者真實IP原理:
客官看完了業界常用的擷取使用者真實IP方法後,發現有個共同規律,主要核心就是
HTTP_CLIENT_IP
HTTP_X_FORWARDED_FOR
REMOTE_ADDR
不同的演變,只是代碼相容性罷了!
如何類比使用者真實IP?
問:如果可以偽造類比HTTP_CLIENT_IP,偽造類比HTTP_X_FORWARDED_FOR,偽造類比REMOTE_ADDR,不就可以達到追蹤不到使用者真實IP的目的了嗎?
答:樓上理解完全正確!如果做到這樣完全可以通殺99%的擷取使用者真實IP,以使用者IP為標識的系統!
(curl、socket、fsocketopen、stream_socket_client):
如何類比HTTP_CLIENT_IP?HTTP_CLIENT_IP可以類比嗎?偽裝HTTP_CLIENT_IP!
curl_setopt($curl, CURLOPT_HTTPHEADER, array ( 'Client_Ip: '.mt_rand(0, 255).'.'.mt_rand(0, 255).'.'.mt_rand(0, 255).'.'.mt_rand(0, 255),));//優點:偽造成本低,通殺90%系統
如何類比HTTP_X_FORWARDED_FOR?HTTP_X_FORWARDED_FOR可以類比嗎?偽裝HTTP_X_FORWARDED_FOR!
curl_setopt($curl, CURLOPT_HTTPHEADER, array ( 'X-Forwarded-For: '.mt_rand(0, 255).'.'.mt_rand(0, 255).'.'.mt_rand(0, 255).'.'.mt_rand(0, 255),));//優點:偽造成本低,通殺90%系統
如何類比REMOTE_ADDR?REMOTE_ADDR可以類比嗎?偽裝REMOTE_ADDR!
curl_setopt($curl, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);curl_setopt($curl, CURLOPT_PROXY, '1.1.1.1:8080');//自行百度獲得普匿代理IP即可,高匿代理IP更佳!//優點:通殺100%系統