Current location: Hot Scripts Forums » Programming Languages » ASP » User agent question

User agent question

Reply
  #1 (permalink)  
Old 04-15-05, 03:26 AM
gneeko gneeko is offline
New Member
 
Join Date: Apr 2005
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
User agent question

Hi, what is the code to view the current visitors IP address and user agent, and determine if it is a Google or MSN Spider?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Share on FacebookShare on Stumble UponShare on Twitter
Reply With Quote
  #2 (permalink)  
Old 04-15-05, 04:29 AM
MadDog MadDog is offline
Code Master
 
Join Date: Aug 2003
Posts: 935
Thanks: 0
Thanked 0 Times in 0 Posts
Here is what i use on my website to get visitor information:

Code:
'******************************************
'***    Get Web Browser Details	      *****
'******************************************

Private Function BrowserType()

	Dim strUserAgent	'Holds info on the users browser and os
	Dim strBrowserUserType	'Holds the users browser type

	'Get the users HTTP user agent (web browser)
	strUserAgent = Request.ServerVariables("HTTP_USER_AGENT")

	'Get the uesrs web browser
	'Opera
	If InStr(1, strUserAgent, "Opera 1", 1) > 0 Then
		strBrowserUserType = "Opera 1"
	ElseIf InStr(1, strUserAgent, "Opera 2", 1) > 0 Then
		strBrowserUserType = "Opera 2"
	ElseIf InStr(1, strUserAgent, "Opera 3", 1) > 0 Then
		strBrowserUserType = "Opera 3"
	ElseIf InStr(1, strUserAgent, "Opera 4", 1) > 0 Then
		strBrowserUserType = "Opera 4"
	ElseIf InStr(1, strUserAgent, "Opera 5", 1) > 0 Then
		strBrowserUserType = "Opera 5"
	ElseIf InStr(1, strUserAgent, "Opera 6", 1) > 0 Then
		strBrowserUserType = "Opera 6"
	ElseIf InStr(1, strUserAgent, "Opera 7", 1) > 0 Then
		strBrowserUserType = "Opera 7"
	ElseIf InStr(1, strUserAgent, "Opera 8", 1) > 0 Then
		strBrowserUserType = "Opera 8"
	ElseIf InStr(1, strUserAgent, "Opera", 1) > 0 Then
		strBrowserUserType = "Opera"

	'AOL
	ElseIf inStr(1, strUserAgent, "AOL 3", 1) > 0 Then
		strBrowserUserType = "AOL 3"
	ElseIf inStr(1, strUserAgent, "AOL 4", 1) > 0 Then
		strBrowserUserType = "AOL 4"
	ElseIf inStr(1, strUserAgent, "AOL 5", 1) > 0 Then
		strBrowserUserType = "AOL 5"
	ElseIf inStr(1, strUserAgent, "AOL 6", 1) > 0 Then
		strBrowserUserType = "AOL 6"
	ElseIf inStr(1, strUserAgent, "AOL 7", 1) > 0 Then
		strBrowserUserType = "AOL 7"
	ElseIf inStr(1, strUserAgent, "AOL 8", 1) > 0 Then
		strBrowserUserType = "AOL 8"
	ElseIf inStr(1, strUserAgent, "AOL 9", 1) > 0 Then
		strBrowserUserType = "AOL 9"
	ElseIf inStr(1, strUserAgent, "AOL", 1) > 0 Then
		strBrowserUserType = "AOL"

	'Konqueror
	ElseIf inStr(1, strUserAgent, "Konqueror", 1) > 0 Then
		strBrowserUserType = "Konqueror"

	'EudoraWeb
	ElseIf inStr(1, strUserAgent, "EudoraWeb", 1) > 0 Then
		strBrowserUserType = "EudoraWeb"

	'Dreamcast
	ElseIf inStr(1, strUserAgent, "Dreamcast", 1) > 0 Then
		strBrowserUserType = "Dreamcast"

	'Safari
	ElseIf inStr(1, strUserAgent, "Safari", 1) > 0 Then
		strBrowserUserType = "Safari"

	'Lynx
	ElseIf inStr(1, strUserAgent, "Lynx", 1) > 0 Then
		strBrowserUserType = "Lynx"

	'ICE
	ElseIf inStr(1, strUserAgent, "ICE", 1) > 0 Then
		strBrowserUserType = "ICE"

	'iCab
	ElseIf inStr(1, strUserAgent, "iCab", 1) > 0 Then
		strBrowserUserType = "iCab"

	'HotJava
	ElseIf inStr(1, strUserAgent, "Sun", 1) > 0 AND inStr(1, strUserAgent, "Mozilla/3", 1) > 0 Then
		strBrowserUserType = "HotJava"

	'Galeon
	ElseIf inStr(1, strUserAgent, "Galeon", 1) > 0 Then
		strBrowserUserType = "Galeon"

	'Epiphany
	ElseIf inStr(1, strUserAgent, "Epiphany", 1) > 0 Then
		strBrowserUserType = "Epiphany"

	'DocZilla
	ElseIf inStr(1, strUserAgent, "DocZilla", 1) > 0 Then
		strBrowserUserType = "DocZilla"

	'Camino
	ElseIf inStr(1, strUserAgent, "Chimera", 1) > 0 OR inStr(1, strUserAgent, "Camino", 1) > 0 Then
		strBrowserUserType = "Camino"

	'Dillo
	ElseIf inStr(1, strUserAgent, "Dillo", 1) > 0 Then
		strBrowserUserType = "Dillo"

	'amaya
	ElseIf inStr(1, strUserAgent, "amaya", 1) > 0 Then
		strBrowserUserType = "Amaya"

	'NetCaptor
	ElseIf inStr(1, strUserAgent, "NetCaptor", 1) > 0 Then
		strBrowserUserType = "NetCaptor"



	'Internet Explorer
	ElseIf inStr(1, strUserAgent, "MSIE 7", 1) > 0 Then
		strBrowserUserType = "Microsoft IE 7"
	ElseIf inStr(1, strUserAgent, "MSIE 6", 1) > 0 Then
		strBrowserUserType = "Microsoft IE 6"
	ElseIf inStr(1, strUserAgent, "MSIE 5", 1) > 0 Then
		strBrowserUserType = "Microsoft IE 5"
	ElseIf inStr(1, strUserAgent, "MSIE 4", 1) > 0 Then
		strBrowserUserType = "Microsoft IE 4"
	ElseIf inStr(1, strUserAgent, "MSIE 3", 1) > 0 Then
		strBrowserUserType = "Microsoft IE 3"
	ElseIf inStr(1, strUserAgent, "MSIE 2", 1) > 0 Then
		strBrowserUserType = "Microsoft IE 2"
	ElseIf inStr(1, strUserAgent, "MSIE 1", 1) > 0 Then
		strBrowserUserType = "Microsoft IE 1"
	ElseIf inStr(1, strUserAgent, "MSPIE 1", 1) > 0 Then
		strBrowserUserType = "Pocket IE 1"
	ElseIf inStr(1, strUserAgent, "MSPIE 1", 1) > 0 Then
		strBrowserUserType = "Pocket IE 2"
	ElseIf inStr(1, strUserAgent, "Gecko", 1) > 0 AND inStr(1, strUserAgent, "Firebird", 1) > 0 Then
		strBrowserUserType = "Mozilla Firebird"
	ElseIf inStr(1, strUserAgent, "Gecko", 1) > 0 AND inStr(1, strUserAgent, "rv:2", 1) > 0 AND inStr(1, strUserAgent, "Netscape", 1) = 0 Then
		strBrowserUserType = "Mozilla 2"
	ElseIf inStr(1, strUserAgent, "Gecko", 1) > 0 AND inStr(1, strUserAgent, "rv:1", 1) > 0 AND inStr(1, strUserAgent, "Netscape", 1) = 0 Then
		strBrowserUserType = "Mozilla 1"
	ElseIf inStr(1, strUserAgent, "Gecko", 1) > 0 AND inStr(1, strUserAgent, "rv:0", 1) > 0 AND inStr(1, strUserAgent, "Netscape", 1) = 0 Then
		strBrowserUserType = "Mozilla"
	ElseIf inStr(1, strUserAgent, "Netscape/8", 1) > 0 Then
		strBrowserUserType = "Netscape 8"
	ElseIf inStr(1, strUserAgent, "Netscape/7", 1) > 0 Then
		strBrowserUserType = "Netscape 7"
	ElseIf inStr(1, strUserAgent, "Netscape6", 1) > 0 Then
		strBrowserUserType = "Netscape 6"
	ElseIf inStr(1, strUserAgent, "Mozilla/4", 1) > 0 Then
		strBrowserUserType = "Netscape 4"
	ElseIf inStr(1, strUserAgent, "Mozilla/3", 1) > 0 Then
		strBrowserUserType = "Netscape 3"
	ElseIf inStr(1, strUserAgent, "Mozilla/2", 1) > 0 Then
		strBrowserUserType = "Netscape 2"
	ElseIf inStr(1, strUserAgent, "Mozilla/1", 1) > 0 Then
		strBrowserUserType = "Netscape 1"

	'//---------------------------------------------------
	'// SEARCH BOTS
	'//---------------------------------------------------
	'LookSmart search engine robot
	ElseIf inStr(1, strUserAgent, "ZyBorg", 1) > 0 Then
		strBrowserUserType = "LookSmart"
		blnSpider = True
	'Googlebot search engine robot
	ElseIf inStr(1, strUserAgent, "Googlebot", 1) > 0 Then
		strBrowserUserType = "Googlebot"
		blnSpider = True
	'MSN  search engine robot
	ElseIf inStr(1, strUserAgent, "msnbot", 1) > 0 Then
		strBrowserUserType = "MSN"
		blnSpider = True
	'inktomi search engine robot
	ElseIf inStr(1, strUserAgent, "slurp", 1) > 0 Then
		strBrowserUserType = "Inktomi"
		blnSpider = True
	'AltaVista search engine robot
	ElseIf inStr(1, strUserAgent, "Scooter", 1) > 0 Then
		strBrowserUserType = "AltaVista"
		blnSpider = True
	'DMOZ search engine robot
	ElseIf inStr(1, strUserAgent, "Robozilla", 1) > 0 Then
		strBrowserUserType = "DMOZ"
		blnSpider = True
	'Ask Jeeves search engine robot
	ElseIf inStr(1, strUserAgent, "Ask Jeeves", 1) > 0 OR inStr(1, strUserAgent, "Ask+Jeeves", 1) > 0 Then
		strBrowserUserType = "Ask Jeeves"
		blnSpider = True
	'Lycos search engine robot
	ElseIf inStr(1, strUserAgent, "lycos", 1) > 0 Then
		strBrowserUserType = "Lycos"
		blnSpider = True
	'Excite search engine robot
	ElseIf inStr(1, strUserAgent, "ArchitextSpider", 1) > 0 Then
		strBrowserUserType = "Excite"
		blnSpider = True
	'Northernlight search engine robot
	ElseIf inStr(1, strUserAgent, "Gulliver", 1) > 0 Then
		strBrowserUserType = "Northernlight"
		blnSpider = True
	'AllTheWeb search engine robot
	ElseIf inStr(1, strUserAgent, "crawler@fast", 1) > 0 Then
		strBrowserUserType = "AllTheWeb"
		blnSpider = True
	'Turnitin search engine robot
	ElseIf inStr(1, strUserAgent, "TurnitinBot", 1) > 0 Then
		strBrowserUserType = "Turnitin"
		blnSpider = True
	'InternetSeer search engine robot
	ElseIf inStr(1, strUserAgent, "internetseer", 1) > 0 Then
		strBrowserUserType = "InternetSeer"
		blnSpider = True
	'NameProtect Inc. search engine robot
	ElseIf inStr(1, strUserAgent, "nameprotect", 1) > 0 Then
		strBrowserUserType = "NameProtect"
		blnSpider = True
	'PhpDig search engine robot
	ElseIf inStr(1, strUserAgent, "PhpDig", 1) > 0 Then
		strBrowserUserType = "PhpDig"
		blnSpider = True
	'Rambler search engine robot
	ElseIf inStr(1, strUserAgent, "StackRambler", 1) > 0 Then
		strBrowserUserType = "Rambler"
		blnSpider = True
	'UbiCrawler search engine robot
	ElseIf inStr(1, strUserAgent, "UbiCrawler", 1) > 0 Then
		strBrowserUserType = "UbiCrawler"
		blnSpider = True
	'entireweb search engine robot
	ElseIf inStr(1, strUserAgent, "Speedy+Spider", 1) > 0 Then
		strBrowserUserType = "entireweb"
		blnSpider = True
	'Alexa.com search engine robot
	ElseIf inStr(1, strUserAgent, "ia_archiver", 1) > 0 Then
		strBrowserUserType = "Alexa"
		blnSpider = True
	'Arianna/Libero search engine robot
	ElseIf inStr(1, strUserAgent, "arianna.libero.it", 1) > 0 Then
		strBrowserUserType = "Arianna/Libero"
		blnSpider = True
	'//---------------------------------------------------

	'Else unknown or robot
	Else
		strBrowserUserType = "Unknown_browser"
	End If

	'Return function
	BrowserType = strBrowserUserType
End Function


'******************************************
'***          Get OS Type   	      *****
'******************************************

Private Function OSType ()

	Dim strUserAgent	'Holds info on the users browser and os
	Dim strOS		'Holds the users OS

	'Get the users HTTP user agent (web browser)
	strUserAgent = Request.ServerVariables("HTTP_USER_AGENT")

	'Get users OS
	'Windows
	If inStr(1, strUserAgent, "Windows 2003", 1) > 0 Or inStr(1, strUserAgent, "NT 5.2", 1) > 0 Then
		strOS = "Windows 2003"
	ElseIf inStr(1, strUserAgent, "Windows XP", 1) > 0 Or inStr(1, strUserAgent, "NT 5.1", 1) > 0 Then
		strOS = "Windows XP"
	ElseIf inStr(1, strUserAgent, "Windows 2000", 1) > 0 Or inStr(1, strUserAgent, "NT 5", 1) > 0 Then
		strOS = "Windows 2000"
	ElseIf inStr(1, strUserAgent, "Windows NT", 1) > 0 Or inStr(1, strUserAgent, "WinNT", 1) > 0 Then
		strOS = "Windows  NT 4"
	ElseIf inStr(1, strUserAgent, "Windows 95", 1) > 0 Or inStr(1, strUserAgent, "Win95", 1) > 0 Then
		strOS = "Windows 95"
	ElseIf inStr(1, strUserAgent, "Windows ME", 1) > 0 Or inStr(1, strUserAgent, "Win 9x 4.90", 1) > 0 Then
		strOS = "Windows ME"
	ElseIf inStr(1, strUserAgent, "Windows 98", 1) > 0 Or inStr(1, strUserAgent, "Win98", 1) > 0 Then
		strOS = "Windows 98"
	ElseIf Instr(1, strUserAgent, "Windows 3.1", 1) > 0 or Instr(1, strUserAgent, "Win16", 1) > 0 Then
		strOS = "Windows 3.x"
	ElseIf Instr(1, strUserAgent, "Windows CE", 1) > 0 Then
		strOS = "Windows CE"
	ElseIf inStr(1, strUserAgent, "PalmOS", 1) > 0 Then
		strOS = "Palm OS"
	ElseIf inStr(1, strUserAgent, "Elaine", 1) > 0 Then
		strOS = "PalmPilot"
	ElseIf inStr(1, strUserAgent, "Nokia", 1) > 0 Then
		strOS = "Nokia"
	ElseIf inStr(1, strUserAgent, "Linux", 1) > 0 Then
		strOS = "Linux"
	ElseIf inStr(1, strUserAgent, "Amiga", 1) > 0 Then
		strOS = "Amiga"
	ElseIf inStr(1, strUserAgent, "Solaris", 1) > 0 Then
		strOS = "Solaris"
	ElseIf inStr(1, strUserAgent, "SunOS", 1) > 0 Then
		strOS = "Sun OS"
	ElseIf inStr(1, strUserAgent, "BSD", 1) > 0 or inStr(1, strUserAgent, "FreeBSD", 1) > 0 Then
		strOS = "Free BSD"
	ElseIf inStr(1, strUserAgent, "Unix", 1) > 0 OR inStr(1, strUserAgent, "X11", 1) > 0 Then
		strOS = "Unix"
	ElseIf inStr(1, strUserAgent, "AOLTV", 1) > 0 OR inStr(1, strUserAgent, "AOL_TV", 1) > 0 Then
		strOS = "AOL TV"
	ElseIf inStr(1, strUserAgent, "WebTV", 1) > 0 Then
		strOS = "Web TV"
	ElseIf inStr(1, strUserAgent, "Mac OS X", 1) > 0 Then
		strOS = "Mac OS X"
	ElseIf inStr(1, strUserAgent, "Mac_PowerPC", 1) > 0 or Instr(1, strUserAgent, "PPC", 1) > 0 Then
		strOS = "Mac PowerPC"
	ElseIf (inStr(1, strUserAgent, "6800", 1) > 0 OR inStr(1, strUserAgent, "68k", 1) > 0) AND inStr(1, strUserAgent, "Mac", 1) > 0 Then
		strOS = "Mac 68k"
	ElseIf inStr(1, strUserAgent, "Mac", 1) > 0 or inStr(1, strUserAgent, "apple", 1) > 0 Then
		strOS = "Macintosh"
	ElseIf inStr(1, strUserAgent, "OS/2", 1) > 0 Then
		strOS = "OS/2"
	ElseIf inStr(1, strUserAgent, "Googlebot", 1) > 0 OR inStr(1, strUserAgent, "ZyBorg", 1) > 0 OR inStr(1, strUserAgent, "slurp", 1) > 0 OR inStr(1, strUserAgent, "Scooter", 1) > 0 OR inStr(1, strUserAgent, "Robozilla", 1) > 0 OR inStr(1, strUserAgent, "Ask Jeeves", 1) > 0 OR inStr(1, strUserAgent, "Ask+Jeeves", 1) > 0 OR inStr(1, strUserAgent, "lycos", 1) > 0 OR inStr(1, strUserAgent, "ArchitextSpider", 1) > 0 OR inStr(1, strUserAgent, "Gulliver", 1) > 0 OR inStr(1, strUserAgent, "crawler@fast", 1) > 0 Then
		strOS = "Search Robot"
	ElseIf inStr(1, strUserAgent, "TurnitinBot", 1) > 0 OR inStr(1, strUserAgent, "internetseer", 1) > 0 OR inStr(1, strUserAgent, "nameprotect", 1) > 0 OR inStr(1, strUserAgent, "PhpDig", 1) > 0 OR inStr(1, strUserAgent, "StackRambler", 1) > 0 OR inStr(1, strUserAgent, "UbiCrawler", 1) > 0 OR inStr(1, strUserAgent, "Speedy+Spider", 1) > 0 OR inStr(1, strUserAgent, "ia_archiver", 1) > 0 OR inStr(1, strUserAgent, "msnbot", 1) > 0 OR inStr(1, strUserAgent, "arianna.libero.it", 1) > 0 Then
		strOS = "Search Robot"
	Else
		strOS = "Unknown_os"
	End If

	'Return function
	OSType = strOS
End Function

'******************************************
'***	 Get users IP address		***
'******************************************

Private Function getIP()

	Dim strIPAddr

	'If they are not going through a proxy get the IP address
	If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" OR InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), "unknown") > 0 Then
		strIPAddr = Request.ServerVariables("REMOTE_ADDR")

	'If they are going through multiple proxy servers only get the fisrt IP address in the list (,)
	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)

	'If they are going through multiple proxy servers only get the fisrt IP address in the list (;)
	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)

	'Get the browsers IP address not the proxy servers IP
	Else
		strIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
	End If

	'Place the IP address back into the returning function
	getIP = Trim(Mid(strIPAddr, 1, 30))

End Function
To use:

Code:
Browser: <% = BrowserType() %><br>
OS: <% = OSType() %><br>
IP: <% = getIP () %>
Please note that this is not 100% because anyone can fool a webpage into thinking they are using another browser.
__________________
Drew Gauderman
ASP - MSSQL Coder / Buisness Owner / Coder for Hire!
MSN-ICQ-AIM-YIM in Profile

http://www.iportalx.net an easy ASP portal system.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Share on FacebookShare on Stumble UponShare on Twitter
Reply With Quote
Reply

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Network User Question bwood415 Windows .NET Programming 1 04-27-05 03:37 AM
2 flash websites for sale metamorph General Advertisements 5 01-09-05 10:03 PM
User Agent for Mobile eddyvlad PHP 2 01-05-05 12:20 AM
Quick Question for you php guru's Tokahashi PHP 3 04-09-04 12:00 PM
Need Epinions-lite system in PHP & MYSQL wali001 Job Offers & Assistance 4 01-12-04 06:02 AM


All times are GMT -5. The time now is 03:32 PM.
vBulletin® Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.