tracking visitors using asp question

B

Burton Figg

I have set up a very simple site tracker.

Each page runs the following code, to insert basic details into a MySQL
database.

ref = request.servervariables("HTTP_REFERER")
str = request.servervariables("SCRIPT_NAME") & "?" &
request.servervariables("QUERY_STRING")
ip = request.servervariables("REMOTE_ADDR")
agt = request.servervariables("HTTP_USER_AGENT")
sql = "INSERT INTO _tracker (fldurl, fldref, fldip, fldagent, flddate)
VALUES ('"&str&"','"&ref&"','"&ip&"','"&agt&"',now())"
set iRS = oConn.Execute(sql)
set iRS = nothing

I was using the IP address as the unique field here, so that I could run off
a list of pages each person visits.

However the problem is that I can look at any number of IP addresses and see
that they visited the site at say, 11am, 3pm and 7pm.

It could be the case that the same person is coming back 3 times, but also
it is likely that with ISPs having a pool of IP addresses, that the IP
address I am looking at has been used by 3 people.

Do people know if there is another piece of info I could use to separate out
the 3 IP addresses, in order to differentiate them? I'm also adding in to
the databse the HTTP_USER_AGENT but this won't be foolproof as a way to
split the same IP address up into possibly 3 different users as a lot of
people have the same browsers / OS.

Some site trackers are able to list the domain a person is visiting from -
am I able to get this information using ASP?

I have had a good trawl through the standard server variables list - where
you loop through to see all the variables using 'for each sv in
request.servervariables' but have not found anything of much use other than
those I listed above.

Thanks

Jim
============
www.jimpix.co.uk
 
P

Phillip Windell

Burton Figg said:
However the problem is that I can look at any number of IP addresses and see
that they visited the site at say, 11am, 3pm and 7pm.

It could be the case that the same person is coming back 3 times,
Yes.

but also it is likely that with ISPs having a pool of IP addresses, that the IP
address I am looking at has been used by 3 people.

Also, Yes. By using DHCP that same address could circulate through
any one of the ISP's customer each time disconnects from the internet
and another connects. Also many "home user" DSL systems use DHCP
(with PPPoE) and create the same effect. Even some business DSL
connections use that.

You could also have a 1000's of user's appear under the same IP
address if they are behind a proxy server of a NAT based firewall.

There is no dependable way to do what you wish. HTTP is "stateless",
there is no constant connection maintained between the user and the
server, therefore there is nothing to monitor. Even sites that seem
"stateful" really aren't. Using Cookies, Session Variables, Databases,
etc., are ways to "emulate" a statefull connection by re-identifing a
user the next time they grap a new page, but they all have weaknesses
and they only create the "illusion" of being statefull, when in fact a
statefull connection still does not and has never existed.

--

Phillip Windell [CCNA, MVP, MCP]
(e-mail address removed)
WAND-TV (ABC Affiliate)
www.wandtv.com
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,236
Members
46,822
Latest member
israfaceZa

Latest Threads

Top