導航:首頁 > 配伺服器 > request伺服器ip地址

request伺服器ip地址

發布時間:2022-08-28 03:06:36

『壹』 <%=Request ("LOCAL_ADDR")%>是提取伺服器IP地址,如何提取客戶機的IP呢

取得客戶機的IP:
<%=request.servervariables("remote_host")%>

『貳』 request.getRemoteAddr();拿到的是伺服器的ip,還是我發送方主機的ip

我不太清楚你用的啥語言,但是你想,HTTP協議是屬於應用層協議,是在最上層的,你拿到的HTTP的內容,IP層的地址應該已經被剝離掉了,你從request裡面是不可能拿到對端的IP的。你自己看看HTTP的頭,它就沒有這個東西啊

『叄』 如何獲取用戶真實訪問IP問題

1、如果伺服器如果沒有採用反向代理,而且客戶端沒有用正向代理的話,那麼可以獲取客戶端的真實IP地址request.getRemoteAddr()
2、如果伺服器如果沒有採用反向代理,而且客戶端有用正向代理的話,那麼通過request.getRemoteAddr()獲取客戶端的IP地址是客戶端 的代理伺服器的地址,並不是客戶端的真實地址,
3、如果客戶端使用的是多層代理的話,伺服器獲得的客戶端地址是客戶端的最外圍代理伺服器的地址如果伺服器如果採用反向代理伺服器,不管客戶端採用的是何種方式訪問伺服器。
//獲得客戶端真實IP地址的方法一:
public String getRemortIP(HttpServletRequest request) {
if (request.getHeader("x-forwarded-for") == null) {
return request.getRemoteAddr();
}
return request.getHeader("x-forwarded-for");
}
//獲得客戶端真實IP地址的方法二:
public String getIpAddr(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}

『肆』 為什麼用request.getRemoteAddr獲得的全是127.0.0.1

獲取客戶端的IP地址的方法是:request.getRemoteAddr(),這種方法在大部分情況下都是有效的。但是在通過了Apache,Squid等反向代理軟體就不能獲取到客戶端的真實IP地址了。如果使用了反向代理軟體,用request.getRemoteAddr()方法獲取的IP地址是:127.0.0.1或192.168.1.110,而並不是客戶端的真實IP。
經過代理以後,由於在客戶端和服務之間增加了中間層,因此伺服器無法直接拿到客戶端的 IP,伺服器端應用也無法直接通過轉發請求的地址返回給客戶端。但是在轉發請求的HTTP頭信息中,增加了X-FORWARDED-FOR信息。用以跟蹤原有的客戶端IP地址和原來客戶端請求的伺服器地址。當我們訪問index.jsp/時,其實並不是我們瀏覽器真正訪問到了伺服器上的index.jsp文件,而是先由代理伺服器去訪問index.jsp ,代理伺服器再將訪問到的結果返回給我們的瀏覽器,因為是代理伺服器去訪問index.jsp的,所以index.jsp中通過request.getRemoteAddr()的方法獲取的IP實際上是代理伺服器的地址,並不是客戶端的IP地址。
於是可得出獲得客戶端真實IP地址的方法一:
public String getRemortIP(HttpServletRequest request) {
if (request.getHeader("x-forwarded-for") == null) {
return request.getRemoteAddr();
}
return request.getHeader("x-forwarded-for");
}
獲得客戶端真實IP地址的方法二:
public String getIpAddr(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}
可是,如果通過了多級反向代理的話,X-Forwarded-For的值並不止一個,而是一串IP值,究竟哪個才是真正的用戶端的真實IP呢?
答案是取X-Forwarded-For中第一個非unknown的有效IP字元串。如:
X-Forwarded-For:192.168.1.110, 192.168.1.120, 192.168.1.130, 192.168.1.100
用戶真實IP為: 192.168.1.110

『伍』 asp中怎樣獲取訪問者的IP地址

asp中獲取訪問者的IP地址的方法:
最簡單的用以下語句:
ip=request.ServerVariables("REMOTE_ADDR")
response.Write(ip)
但這種方法對代理伺服器上網的就不準了,故比較全面的是用下面的方法:
<%
Private Function getIP() //定義一個獲取ip的函數
Dim strIPAddr //定義ip地址變數
//檢測是否利用了代理:HTTP_X_FORWARDED_FOR,如果沒有直接用Request.ServerVariables("REMOTE_ADDR") 獲取
If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" OR InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), "unknown") > 0 Then
strIPAddr = Request.ServerVariables("REMOTE_ADDR") ;
//如果使用了代理HTTP_X_FORWARDED_FOR,就從代理串中截取
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") > 0 Then
strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",")-1)
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";") > 0 Then
strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";")-1)
Else
strIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
End If
getIP = Trim(Mid(strIPAddr, 1, 30))
End Function
ip=getIP()
response.write(ip)
%>

『陸』 一台主機上網採用自動獲取IP地址的方式,如何簡要描述其獲取地址的過程及所採用協議工作方式

主機獲取地址的過程及所採用協議工作方式:

發現階段:即DHCP客戶機尋找DHCP伺服器的階段。DHCP客戶機以廣播的方式發送DHCP discover 發現信息來尋找DHCP伺服器(因為DHCP伺服器的IP地址對客戶機來說是未知的)。

即向255.255.255.255發送特定的廣播信息,網路上每一台安裝了TCP/IP協議的主機都會接收到這種廣播信息,但只有DHCP伺服器才會作出響應。

提供階段:即DHCP伺服器提供IP地址的階段。在網路中收到DHCP discover發現信息的DHCP伺服器都會作出響應,它從尚未出租的IP地址中挑選一個分配給DHCP客戶機,向DHCP客戶機發送一個包含出租的IP地址和其他設置額DHCP offer提供信息。

選擇階段:DHCP客戶機選擇某台DHCP伺服器提供的IP地址的階段。 如果有多台DHCP伺服器向DHCP客戶機發來的DHCP offer,客戶機只接收第一個收到的DHCP offer,然後它以廣播的方式回答一個DHCP request請求信息。

該信息中包含它所選定的DHCP伺服器請求IP地址的內容。

之所以要以廣播的方式回答,是為了通知所有的DHCP伺服器,它將選擇某台DHCP伺服器所提供的IP地址。

總結如下:

DHCP伺服器向DHCP客戶機出租的IP地址一般都由一個租借期限,期滿後DHCP伺服器會收回出租的IP地址。如果DHCP客戶機要延長其IP租約,則必須更新其租約。DHCP客戶機啟動時和IP租約期限過一半時,DHCP客戶機都會自動向DHCP伺服器發送其更新租約的信息。



『柒』 微信小程序的request 中url 一定要用域名嗎 不能用HTTPS的伺服器IP地址嗎

首先根據微信小程序的要求,需要使用域名!必須使用HTTPS協議加密,並且符合以下ATS標准:
一、證書(要求):安全的證書公鑰演算法(RSA 2048 位以上或 ECC 256 位以上)、安全的證書簽名演算法(SHA2)、證書被 Apple ATS 信任(權威機構頒發)、證書與域名匹配(包含被檢測的域名)、證書時間有效(未過期)。
二、伺服器(要求):開啟 HTTPS、伺服器配置符合 ATS 規范、支持 TLS1.2、PFS(完全正向保密)、iOS 密碼套件支持。
三、您要知道的是使用可信機構機構Gworg SSL證書,成本考慮的情況下通常使用DV證書,然而他僅支持域名,然而IP是不可能的,就算是可信機構簽發了IP證書信任,但信任率也不會全面,而且公網IP也會變動,當然IP在那邊意味著伺服器也暴漏在眼前,IP簽發的成本不菲!

『捌』 ASP伺服器IP地址獲取

老兄這不是重復,你前面那個127.0.0.1其實就是localhost,可能你電腦設置了什麼吧,通常情況下是這樣顯示的http://localhost/127.0.0.1後面那個才是你用代碼獲取的。

『玖』 如何通過Request獲取用戶真實IP

問題引出:
<hr/>
在JSP里,獲取客戶端的IP地址的方法是:request.getRemoteAddr(),這種方法在大部分情況下都是有效的。但是在通過了 Apache,Nagix等反向代理軟體就不能獲取到客戶端的真實IP地址了。如果使用了反向代理軟體,用 request.getRemoteAddr()方法獲取的IP地址是:127.0.0.1或 192.168.1.110,而並不是客戶端的真實IP。
經過代理以後,由於在客戶端和服務之間增加了中間層,因此伺服器無法直接拿到客戶端的 IP,伺服器端應用也無法直接通過轉發請求的地址返回給客戶端。但是在轉發請求的HTTP頭信息中,增加了X-FORWARDED-FOR信息。用以跟蹤原有的客戶端 IP地址和原來客戶端請求的伺服器地址。
舉例來說,當我們訪問口碑網首頁hangzhou.jsp時,其實並不是我們瀏覽器真正訪問到了伺服器上的hangzhou.jsp 文件,而是先由代理伺服器Nagix去訪問hagnzhou.jsp ,代理伺服器再將訪問到的結果返回給我們的瀏覽器,因為是代理伺服器去訪問hangzhou.jsp的,所以hangzhou.jsp中通過 request.getRemoteAddr()的方法獲取的IP實際上是代理伺服器的地址,並不是客戶端的IP地址。
<hr/>
獲得客戶端真實IP地址的方法一:
public String getRemortIP(HttpServletRequest request) {
if (request.getHeader("x-forwarded-for") == null) {
return request.getRemoteAddr();
}
return request.getHeader("x-forwarded-for");
}
<hr/>

獲得客戶端真實IP地址的方法二

public String getIpAddr(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}
<hr/>

『拾』 ASP如何獲取IP地址

<%ip1=request.servervariables("REMOTE_ADDR") '訪問者的IPip2=Request.ServerVariables("LOCAL_ADDR")% '網站所在伺服器IPIP3=Request.ServerVariables("HTTP_X_FORWARDED_FOR") '代理伺服器的IP%> 希望採納

閱讀全文

與request伺服器ip地址相關的資料

熱點內容
加密人員是干什麼的 瀏覽:572
如何開通手機imap伺服器 瀏覽:507
博途v151軟體編譯好後如何模擬 瀏覽:429
365還有哪幾種演算法 瀏覽:737
加密數字貨幣和法定貨幣的區別 瀏覽:641
加密的視頻如何錄屏 瀏覽:28
java代碼在eclipse哪個文件夾 瀏覽:222
舊的安卓線叫什麼 瀏覽:859
台灣紅羊公司出品的電影 瀏覽:102
紅顏玫瑰花雙女主免費閱讀 瀏覽:238
小說傻柱原著txt 瀏覽:967
周香允演的女上市是哪部電影 瀏覽:423
單片機非同步通信數據格式 瀏覽:13
argon2d演算法的幣 瀏覽:50
世界上最簡單的解壓神器 瀏覽:566
一人之下小說txt全文 瀏覽:584
.超大尺度男男電影 瀏覽:396
無法找到加密狗將進入演示模式 瀏覽:134
韓國李彩譚主演的電影 瀏覽:560
redisphp管理 瀏覽:958