亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長(zhǎng)資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    PHP如何才能獲取真實(shí)IP

    PHP如何才能獲取真實(shí)IP

    在PHP中,常見(jiàn)獲取請(qǐng)求IP的方式一般是通過(guò)3個(gè)超全局變量,不過(guò)很顯然三種獲取IP的方式并不完全可靠。

    $_SERVER['REMOTE_ADDR'];             // 客戶(hù)端與服務(wù)器握手IP,如果使用代理則會(huì)獲取到代理IP $_SERVER['HTTP_CLIENT_IP'];          // 代理服務(wù)器發(fā)送的HTTP頭(可偽造) $_SERVER['HTTP_X_FORWARDED_FOR'];    // 用戶(hù)是在哪個(gè)IP使用的代理(可偽造)

    如果域名沒(méi)有經(jīng)過(guò)代理,一般穩(wěn)妥的方式是 REMOTE_ADDR,如果是海外網(wǎng)絡(luò)最穩(wěn)妥的方式是云廠(chǎng)商提供可靠的源IP獲取方式,如谷歌云提供的:

    PHP如何才能獲取真實(shí)IP

    當(dāng)沒(méi)有出現(xiàn)偽造IP時(shí),X-forwarded-For 一般是客戶(hù)端真實(shí)IP,負(fù)載均衡 IP

    當(dāng)出現(xiàn)偽造IP時(shí),谷歌云將偽造的內(nèi)容進(jìn)行前置,格式是 <偽造內(nèi)容>,客戶(hù)端真實(shí)IP,負(fù)載均衡 IP

    所以無(wú)論是否偽造,我們都可以通過(guò)逗號(hào)切割字符串,找到倒數(shù)第二個(gè)X-forwarded-for的值,就可以獲取到真實(shí)客戶(hù)端IP。

    當(dāng)然,如果域名云廠(chǎng)商沒(méi)有提供類(lèi)似的域名信息,我們就無(wú)法簡(jiǎn)單通過(guò)超全局變量進(jìn)行獲取了。

    當(dāng)域名云廠(chǎng)商沒(méi)有提供相應(yīng)的請(qǐng)求源IP信息時(shí),這時(shí)我們也可以通過(guò)服務(wù)端交互雙方協(xié)商一種確認(rèn)機(jī)制。

    類(lèi)似:在HTTP請(qǐng)求頭加入源IP信息進(jìn)行判斷,由于是服務(wù)端之間的通信過(guò)程,偽造方無(wú)法知道偽造的具體信息內(nèi)容,因此通常情況下這樣的交互是可靠的。

    判斷邏輯過(guò)程

    服務(wù)端A: HTTP請(qǐng)求頭加入變量 MY_REALIP_c32fsjk234 => “1.2.3.4”,這時(shí)需要注意,變量名稱(chēng)盡量不要太簡(jiǎn)單,并且最好雙方約定一個(gè)隨機(jī)密鑰作為變量名稱(chēng),類(lèi)似 MY_REALIP_c32fsjk234

    接受請(qǐng)求端B: 通過(guò) $_SERVER[‘MY_REALIP_c32fsjk234’] 判斷請(qǐng)求頭是否包含 MY_REALIP_c32fsjk234 變量,如果有,獲取相應(yīng)的IP作為真實(shí)IP。

    原文鏈接:https://blog.csdn.net/panguangyuu/article/details/122211682

    推薦閱讀:

    php教程

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)