java如何獲取真實的IP

2021-05-18 01:27:11 字數 940 閱讀 4887

如果伺服器如果沒有採用反向**,而且客戶端沒有用正向**的話,

那麼可以獲取客戶端的真實ip位址request.getremoteaddr()

如果伺服器如果沒有採用反向**,而且客戶端有用正向**的話,

那麼通過request.getremoteaddr()獲取客戶端的ip位址是客戶端 的**伺服器的位址,並不是客戶端的真實位址,

而且如果客戶端使用的是多層**的話,伺服器獲得的客戶端位址是客戶端的最外圍**伺服器的位址

如果伺服器如果採用反向**伺服器,不管客戶端採用的是何種方式訪問伺服器,

伺服器通過request.getremoteaddr()都將是反向**伺服器位址,

而且伺服器採用的是多層反向**伺服器的話,伺服器通過request.getremoteaddr()

都將是伺服器最裡面反向**伺服器位址

伺服器通過request.getheader("x-forwarded-for") 來判斷(包括多層反向**伺服器)等方式,

可以獲得客戶端位址,如果客戶端沒有使用**的話,那麼這個位址就是客戶端的真實位址,

如果客戶端使用**的話,不過這個位址並不是客戶端的真實位址,是這個**伺服器的位址

而且如果客戶端使用的是多層**的話,伺服器獲得的客戶端位址是客戶端的最外圍**伺服器的位址

到底伺服器如何獲取客戶端真實位址呢?

先假設,伺服器沒用使用反向**,客戶端使用了多層**伺服器使用request.getremoteaddr(),

獲取客戶端的最外圍**伺服器位址,在聯絡該**伺服器管理員,通過該管理員找到倒數第二層**的位址,

依次這樣找下去,接著找到第二層**的位址,...第n層**的位址,通過最後第n層**伺服器管理員就把真實位址交出

java如何獲取使用者真實的ip

收起 lzb1096101803 瀏覽 6460 次 推薦於2016 01 13 04 05 12 最佳答案 1 如果伺服器如果沒有採用反向 而且客戶端沒有用正向 的話,那麼可以獲取客戶端的真實ip位址request.getremoteaddr 2 如果伺服器如果沒有採用反向 而且客戶端有用正向 的...

獲取真實IP

servlet request getheader x forwarded for 獲取真實ip request方法客戶端ip request.getremoteaddr 輸出 192.168.0.106 客戶端主機名 request.getremotehost 輸出 abc request.get...

ASP如何獲取真實IP位址

asp如何獲取真實ip位址 在 asp 中使用 request.servervariables remote addr 來取得客戶端的 ip 位址,但如果客戶端是使用 伺服器來訪問,那取到的就是 伺服器的 ip 位址,而不是真正的客戶端 ip 位址。要想透過 伺服器取得客戶端的真實ip 位址,就要使...