用ASP獲取客戶端IP地址的方法

要想透過代理服務器取得客戶端的真實IP地址,就要使用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 來讀取。不過要注意的事,并不是每個代理服務器都能用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 來讀取客戶端的真實 IP,有些用此方法讀取到的仍然是代理服務器的IP。還有一點需要注意的是:如果客戶端沒有通過代理服務器來訪問,那么用 Request.ServerVariables ("HTTP_X_FORWARDED_FOR") 取到的值將是空的。因此,如果要在程序中使用此方法,可以這樣處理:
  
  ......
  
  userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
  
  If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")
  
  ......
  
  即:如果客戶端通過代理服務器,則取 HTTP_X_FORWARDED_FOR 的值,如果沒通過代理服務器,就取 REMOTE_ADDR 的值。
  
  '通用函數:如果不能取客戶端真實IP,就會取客戶端的代理IP
  
  Private Function getIP()Dim strIPAddrIf Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" OR InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), "unknown") > 0 ThenstrIPAddr = Request.ServerVariables("REMOTE_ADDR")ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") > 0 ThenstrIPAddr = 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 ThenstrIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";")-1)ElsestrIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR")End IfgetIP = Trim(Mid(strIPAddr, 1, 30))End Function

轉載于:https://www.cnblogs.com/fyen/archive/2010/12/21/1912228.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/378787.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/378787.shtml
英文地址,請注明出處:http://en.pswp.cn/news/378787.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++——已知a+b、 a+c、b+c、 a+b+c,求a、b、 c

有三個非負整數a、b、 C,現按隨機順序給出它們的兩兩和以及總和4個整數,即ab、 ac、bc、 abc, 注意,給出的4個數的順序是隨機的,請根據這四個數求出a、b、c是多少? [輸入形式] 輸入為一-行4個正整數, x1、 x2、x3、 x4 (0≤xi≤10^9) ,表示…

DDD:DomainEvent、ApplicationEvent、Command

Command:縱向傳遞,跨分層,在控制器層和應用層之間傳遞。 DomainEvent:橫向傳遞,跨聚合,在一個DLL中。 ApplicationEvent:橫向傳遞,跨模塊,在不同的DLL中。轉載于:https:/…

表示和描述-邊界追蹤

邊界追蹤目標: 輸入:某一區域的點 輸出:這一區域的點的坐標序列(順時針或逆時針) Moore邊界追蹤法: 兩個前提條件: 1、圖像為二值化后的圖像(目標為1,背景為0&#xff0…

視頻的讀取與處理

讀取本地視頻,以灰度視頻輸出 import cv2vc cv2.VideoCapture(E:\Jupyter_workspace\study\data/a.mp4)#視頻路徑根據實際情況而定#檢查是否打開正確 if vc.isOpened():open,fream vc.read()#read()返回兩個參數,第一個參數為打開成功與否True or Fal…

更靈活的定位內存地址的方法05 - 零基礎入門學習匯編語言36

第七章:更靈活的定位內存地址的方法05 讓編程改變世界 Change the world by program 問題7.8 [codesyntax lang"asm"] assume cs:codesg,ds:datasg datasg segment db ibm db dec db dos db vax …

nextgaussian_Java Random nextGaussian()方法與示例

nextgaussian隨機類nextGaussian()方法 (Random Class nextGaussian() method) nextGaussian() method is available in java.util package. nextGaussian()方法在java.util包中可用。 nextGaussian() method is used to generate the next pseudo-random Gaussian double valu…

Java PriorityQueue clear()方法與示例

PriorityQueue類clear()方法 (PriorityQueue Class clear() method) clear() method is available in java.util package. clear()方法在java.util包中可用。 clear() method is used to remove all the objects from this PriorityQueue. clear()方法用于從此PriorityQueue中刪…

圖像分割-邊緣連接

三種基本方法: 1:局部處理 2:區域處理 3:使用霍夫變換的全局處理 局部處理 根據預定的規則,將所有相似點連接起來。 用于確定邊緣像素相似性的兩個主要性質:1、梯度向量的幅度2、梯度向量的角度 由于要…

01-圖像ROI區域獲取

截取部分圖像數據 import cv2 def cv_show(name,img):cv2.imshow(name,img)cv2.waitKey(0)cv2.destroyAllWindows()img2 cv2.imread("E:\Jupyter_workspace\study\data/cat.png")#讀取照片,第二個參數若為0,則灰度圖;若不填或者1…

如何編寫測試計劃

有以下幾個方面需要作考慮: 1. 測試的范圍。要測試什么,這是肯定要明確的,即使你知道,你也要寫出來,讓看這份文檔的人知道測試的范圍。在確定測試內容的時候,還可以做一個優先級的區分,這樣能保…

java clone 序列化_關于Java對象深度Clone以及序列化與反序列化的使用

? 我們可以利用clone方法來實現對象只見的復制,但對于比較復雜的對象(比如對象中包含其他對象,其他對象又包含別的對象.....)這樣我們必須進行層層深度clone,每個對象需要實現 cloneable接口,比較麻煩,那就繼續…

java enummap_Java EnumMap containsKey()方法與示例

java enummapEnumMap類containsKey()方法 (EnumMap Class containsKey() method) containsKey() method is available in java.util package. containsKey()方法在java.util包中可用。 containsKey() method is used to check whether this map has values for the given key e…

02-對圖像進行邊界填充

import cv2 import matplotlib.pyplot as pltimg2 cv2.imread("E:\Jupyter_workspace\study\data/cat.png")#讀取照片,第二個參數若為0,則灰度圖;若不填或者1則彩色圖或本身圖top_size,bottom_size,left_size,right_size (50,50,…

正則基礎

http://www.ipc.me/regular_expression_07681.html文章錯誤: 1 字符集的一些應用 第二個正則少了一個左方括號。 2 字符集的元字符 /[]x]/中的第一個]左邊少了一個轉義符,在這種情況下轉義符還是不能省略的。擴展 1 回車符 換行符 http://www.c…

Windows Phone 7獨立存儲空間IsolatedStorage

Windows Phone 7的solatedStorage可以用來保存應用程序的數據和設置。結構圖如下 一、相關類 1.IsolatedStorageFile類 1)描述:表示在獨立存儲空間中的文件和目錄。 2)重要屬性 long AvailableFreeSpace:IsolatedStorage有效的剩余…

圖像分割-閾值處理詳解(迭代法、Otsu法、平滑改善法、邊緣改進法、分塊處理法、局部特性法、移動平均法)

博主聯系方式: QQ:1540984562 QQ交流群:892023501 群里會有往屆的smarters和電賽選手,群里也會不時分享一些有用的資料,有問題可以在群里多問問。 閾值處理詳解基礎:基于全局的閾值處理1迭代算法(最小概率誤…

java 用戶控件_C#自定義控件VS用戶控件

C#中自定義控件VS用戶控件大比拼1 自定義控件與用戶控件區別WinForm中,用戶控件(User Control):繼承自 UserControl,主要用于開發 Container 控件,Container控件可以添加其他Controls控件自定義控件(Custom Control):繼…

Java FileDescriptor sync()方法與示例

FileDescriptor類sync()方法 (FileDescriptor Class sync() method) sync() method is available in java.io package. sync()方法在java.io包中可用。 sync() method is used to synchronize all the system buffer with the underlying device. sync()方法用于將所有系統緩沖…

windows 7資源管理器崩潰解決方法

最近被頻繁的資源管理器explorer崩潰搞得幾乎生活不能處理,一打開帶有視頻的文件夾,就explorer崩潰,要瘋了。 日志中含有mpc_mtcontrol.dll 查來查去,沒有一個確定的答案,baidu,google都沒用,最…

03-對圖像進行數值計算和加權融合

數值計算 import cv2img_1 cv2.imread(E:\Jupyter_workspace\study\data/beyond.png) img_2 cv2.imread(E:\Jupyter_workspace\study\data/water2.png)img_1_1 img_1 10 img_1[:2,:,0]#輸出前兩行就行 img_1_1[:2,:,0]#[h,w,c] img_2[:2,:,0]#[h,w,c](img_1 img_2)[:2,:,…