글쎄요... 혹시나 해서요.. 도움이 되시는 분이 한분이라도 계실까 싶어서요...
클라우드플레어를 사용하는데요 실제 접속자 IP를 가져오고 싶을 경우...
그런데 ASP일 경우 자료가 없더라구요..
물론 클플사이트에 가면 아래와 같은 자료가 있기는 있어요
관련 파일은 업로드 해봅니다.
----------------------------------------------------------------
IIS Module (third party)
Installation
Create a directory for the HTTP Module. Example:
C:\> md c:\HttpModules
Copy the files from the Release build of your target platform (x86 for 32-bit or x64 for 64-bit). Example:
C:\> xcopy <zip_dir>\x64\Release\* c:\HttpModules
Copy the Install-XFF-ps1 PowerShell script to the target directory. Example:
C:\> xcopy <zip_dir>\Install-XFF.ps1 c:\HttpModules
Change directory to the install path
C:\> cd c:\HttpModules
Register the Module with the install script (or via IIS admin).
C:\HttpModules\> .\Install-XFF.ps1 -cmd install -module_path c:\HttpModules\F5XFFHttpModule.dll
The module should now be installed in your top level IIS server Module settings as well as each existing application. You can selectively add/remove them from the IIS admin at this point.
Customization for Cloudflare
The F5 XFF Http Module supports a configuration file named F5XFFHttpModule.ini. It looks in the same directory as the configured .DLL for a file of the same name as it self with the .INI extension. An example file is included but renamed to F5XFFHttpModule.ini.bak. Once you get rid of the ".bak" extension and restart the application the settings will take effect. In this configuration file, you should override the default header name of X-Forwarded-For to CF-Connecting-IP.
-----------------------------------------------------------------------------
그래서 요놈을 적용하려고 하다보니...
아랫놈을 찾게 되어서요.. 굳이 위엣 놈을 삽질하지 않아도 되더라구요...
-----------------------------------------------------------------------------
' ######################################################################
' Function name : getUserIP
' Parameter :
' Return : String
' Description :
' ######################################################################
<%
Function getUserIP()
Dim httpXForwardedFor, remoteAddr
Dim result
httpXForwardedFor = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
remoteAddr = Request.ServerVariables("REMOTE_ADDR")
If httpXForwardedFor = "" OR InStr(httpXForwardedFor, "unknown") > 0 Then
result = remoteAddr
ElseIf InStr(httpXForwardedFor, ",") > 0 Then
result = Mid(httpXForwardedFor, 1, InStr(httpXForwardedFor, ",")-1)
ElseIf InStr(httpXForwardedFor, ";") > 0 Then
result = Mid(httpXForwardedFor, 1, InStr(httpXForwardedFor, ";")-1)
Else
result = httpXForwardedFor
End If
getUserIP = Trim(Mid(result, 1, 30))
End Function
%>
---------------------------------------------------------------------------
근데 그냥 ...
Request.ServerVariables("HTTP_X_FORWARDED_FOR")
요넘을 써도 되더군요..
참고 아래 내용 남깁니다.
----------------------------------------------------------
1. Request.ServerVariables("REMOTE_ADDR")
- 기본 환경변수로 주로 사용
- 일반적인 아이피
2. Request.ServerVariables("HTTP_CLIENT_IP")
- 로드밸런싱(L4, L7)을 사용하는 다중웹서버의 경우 사용
- REMOTE_ADDR값은 로드밸런싱서버 아이피
3. Request.ServerVariables("HTTP_X_FORWARDED_FOR")
- Proxy를 통해 웹서버에 접근하는 경우 사용
- REMOTE_ADDR값은 Proxy 아이피
영삼넷
Categories
Recent Posts
Recent Comments
Statistics
- Total Visitors:
- 406657
- Today:
- 6842788
- Yesterday:
- 9754777
IT강국 김영삼 블로그에 오신걸 진심으로 환영합니다.
©2002 영삼넷 // openkr
©2002 영삼넷 // openkr