摘要:要想透過(guò)代理服務(wù)器取得客戶端的真實(shí)地址,就要使用來(lái)讀取。還有一點(diǎn)需要注意的是如果客戶端沒(méi)有通過(guò)代理服務(wù)器來(lái)訪問(wèn),那么用取到的值將是空的。獲取客戶端相關(guān)文章獲取用戶地址通用方法常見(jiàn)安全隱患
1.REMOTE_ADDR:瀏覽當(dāng)前頁(yè)面的用戶計(jì)算機(jī)的ip地址
2.HTTP_X_FORWARDED_FOR: 瀏覽當(dāng)前頁(yè)面的用戶計(jì)算機(jī)的網(wǎng)關(guān)
3.HTTP_CLIENT_IP:客戶端的ip
在PHP 中使用 $_SERVER["REMOTE_ADDR"] 來(lái)取得客戶端的 IP 地址,但如果客戶端是使用代理服務(wù)器來(lái)訪問(wèn),那取到的就是代理服務(wù)器的 IP 地址,而不是真正的客戶端 IP 地址。要想透過(guò)代理服務(wù)器取得客戶端的真實(shí) IP 地址,就要使用 $_SERVER["HTTP_X_FORWARDED_FOR"] 來(lái)讀取。
不過(guò)要注意的事,并不是每個(gè)代理服務(wù)器都能用 $_SERVER["HTTP_X_FORWARDED_FOR"] 來(lái)讀取客戶端的真實(shí) IP,有些用此方法讀取到的仍然是代理服務(wù)器的 IP。
還有一點(diǎn)需要注意的是:如果客戶端沒(méi)有通過(guò)代理服務(wù)器來(lái)訪問(wèn),那么用$_SERVER["HTTP_X_FORWARDED_FOR"] 取到的值將是空的。
/** * 獲取客戶端IP * @return string */ function get_client_ip() { $realip = ""; if ($_SERVER["HTTP_X_FORWARDED_FOR"] && preg_match("/^([0-9]{1,3}.){3}[0-9]{1,3}$/", $_SERVER["HTTP_X_FORWARDED_FOR"])) { $realip = $_SERVER["HTTP_X_FORWARDED_FOR"]; } else if ($_SERVER["HTTP_CLIENT_IP"] && preg_match("/^([0-9]{1,3}.){3}[0-9]{1,3}$/", $_SERVER["HTTP_CLIENT_IP"])) { $realip = $_SERVER["HTTP_CLIENT_IP"]; } else if($_SERVER["REMOTE_ADDR"] && preg_match("/^([0-9]{1,3}.){3}[0-9]{1,3}$/", $_SERVER["HTTP_CLIENT_IP"])) { $realip = $_SERVER["REMOTE_ADDR"]; } return $realip; }
相關(guān)文章:
獲取用戶Ip地址通用方法常見(jiàn)安全隱患(HTTP_X_FORWARDED_FOR)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/21954.html
摘要:之前的文章可以關(guān)注我的面試專欄獲取,或者關(guān)注我的公眾號(hào)琉憶編程庫(kù)查看歷史獲取。面試時(shí)如何給自己添金沒(méi)接觸過(guò)支付功能為此特意準(zhǔn)備了一篇新手零基礎(chǔ)對(duì)接境外支付的文章,為你面試添金,關(guān)注公眾號(hào)琉憶編程庫(kù),回復(fù),我發(fā)給你。 你好,是我琉憶。本篇是本周(2019.2-25至3-1)的最后一篇文章。之前的文章可以關(guān)注我的PHP面試專欄獲取,或者關(guān)注我的公眾號(hào)琉憶編程庫(kù)查看歷史獲取。 我正在segm...
摘要:換一臺(tái)電腦就要重新安裝。并且還需要適配不同的系統(tǒng)。提交大小幾乎沒(méi)有限制。即協(xié)議主要由請(qǐng)求和響應(yīng)組成。相反則為同步按照程序的順序,依次往下執(zhí)行,必須等上一程序執(zhí)行完成之后才能執(zhí)行下一程序,阻礙程序的執(zhí)行。 Ajax 服務(wù)器 類型 按照服務(wù)類型:文件服務(wù)器,數(shù)據(jù)庫(kù)服務(wù)器,郵件服務(wù)器,Web服務(wù)器 按照操作系統(tǒng):Linux服務(wù)器,Windows服務(wù)器 按照應(yīng)用軟件:Apache服務(wù)器,Ng...
摘要:但是在通過(guò)了,等反向代理軟件就不能獲取到客戶端的真實(shí)地址了。下面是一個(gè)參考獲取客戶端地址的方法如果使用的是連接池,可以參考使用方法,但這個(gè)是經(jīng)過(guò)多級(jí)代理的地址,需要自己處理下獲取第一個(gè)。 showImg(https://segmentfault.com/img/remote/1460000015379119); 在JSP里,獲取客戶端的IP地址的方法是:request.getRemot...
摘要:對(duì)協(xié)議進(jìn)行擴(kuò)展。通過(guò)此項(xiàng)措施,強(qiáng)行將設(shè)置為客戶端使客戶端無(wú)法通過(guò)本文所述方式偽造。 在閱讀本文前,大家要有一個(gè)概念,由于TCP需要三次握手連接,在實(shí)現(xiàn)正常的TCP/IP 雙方通信情況下,是無(wú)法偽造來(lái)源 IP 的,也就是說(shuō),在 TCP/IP 協(xié)議中,可以偽造數(shù)據(jù)包來(lái)源 IP ,但這會(huì)讓發(fā)送出去的數(shù)據(jù)包有去無(wú)回,無(wú)法實(shí)現(xiàn)正常的通信。 一些DDoS 攻擊,它們只需要不斷發(fā)送數(shù)據(jù)包,而不需要正...
摘要:對(duì)協(xié)議進(jìn)行擴(kuò)展。通過(guò)此項(xiàng)措施,強(qiáng)行將設(shè)置為客戶端使客戶端無(wú)法通過(guò)本文所述方式偽造。 在閱讀本文前,大家要有一個(gè)概念,由于TCP需要三次握手連接,在實(shí)現(xiàn)正常的TCP/IP 雙方通信情況下,是無(wú)法偽造來(lái)源 IP 的,也就是說(shuō),在 TCP/IP 協(xié)議中,可以偽造數(shù)據(jù)包來(lái)源 IP ,但這會(huì)讓發(fā)送出去的數(shù)據(jù)包有去無(wú)回,無(wú)法實(shí)現(xiàn)正常的通信。 一些DDoS 攻擊,它們只需要不斷發(fā)送數(shù)據(jù)包,而不需要正...
閱讀 836·2023-04-25 19:40
閱讀 3493·2023-04-25 17:41
閱讀 3007·2021-11-11 11:01
閱讀 2625·2019-08-30 15:55
閱讀 3231·2019-08-30 15:44
閱讀 1361·2019-08-29 14:07
閱讀 486·2019-08-29 11:23
閱讀 1330·2019-08-27 10:54