Hello,
I like to count just unique visitors that goes to my site from other sites where I buy ad.
How i can count JUST UNIQUE visitors?
IP+USER AGENT = Hackable
What else i can use to get 98-100% unique visitors counting?
Hello,
I like to count just unique visitors that goes to my site from other sites where I buy ad.
How i can count JUST UNIQUE visitors?
IP+USER AGENT = Hackable
What else i can use to get 98-100% unique visitors counting?
STOP SAYING LOL
buy on big advertising companies... is better , belive me...
I don't ask where to buy ads.
STOP SAYING LOL
i tink you can see it in awstats in cPanel (if youre using cpanel)
Just tell where you advertise your site to write the url something like
sou you would see in the list of incoming visitors the refferer address.
the problem there is you have to browse and manually count![]()
IP + user agent is more than enough for unique visitor checking if you want it to be autonomous (i.e. it doesnt require a user login form)
IP you can change, user agent also. So I need best way, that ppl, can't cheat on refferal system.
STOP SAYING LOL
there is no way, you can only use the info the client lets you have during a standard http get procedure, which for the most part is anything in the $_SERVER global. IP changing would only be done via proxy, someone would have to go through a great deal of trouble to get enough proxies to make any sort of impact on the system. Anyone with the knowledge required to do a proper ip spoof simply wouldnt be doing ip spoofin on you as to be blunt.. you are and will never be worth the hassle required for a proper ip spoof and darknet masking.
the only way to improve this system would be entirely dependand on what your advert agreement is and what your site is just to name two. Pick and choose between any of the following if there any good to you:
1. Add a cookie called "Sess_65" or something else. Check for existance of the cookie before counting them as a unique visitor. This would help combat against people who use proxys inputted straght into their apps network settings as most apps use a cookie file that isnt dependant on your network settings. Id recommend using a obfuscated cookie name (i.e. dont put referall or anything else in there as they will know what its doing). Think about it a bit more and you could add "refered_by" cookie and value of "the referalsite". This may trick the advertising site into thinking that cookie is a good cookie for them.
2. only count a unique visit if they sign up to your site, even better if you add in a delay which means they must both signup and use the site for say 5 hours before the referal is confirmed. This would be dependadnt on your advertising agreement. If they want paying for "clicks" rather than "click resulting in successful registrations/sales" then this wouldnt help you get a discount, but it could help you if you wanted to try and negotiate a lower advert price (though that would be up to them as you agreed to the advertising agreement)
3. add a delay, if someone uses the same user agent on a referall from the same site as another referall and the time between visits is less than 30 seconds assume its hoax.
The main thing is to just think and add in multiple layers. No one can give you a fool proof way as there isnt one, secrecy is one of the better tools you can use. If they dont know all your tricks (i.e. you dont get all your solutions from a public forum) then it makes their job 10 times harder
sladex (27-01-10)
Originally Posted by djlee
There is the answer, Cheers man, I try some of your methods. It's sounds really great. Thank you again.
I think I will use 4 ar 5 functions to get unique visitors.
1. IP
2.User agent
3.Cookie
4.Screen size
5.Don't know now
STOP SAYING LOL
try this code counts and logs top referers study the code for the sql ive provided the know how lol rest is up to u
ah **** lol case u guys have a cry heres the sql tables lol even tho its right at bottom of the codePHP Code:<?php
//problems? suggestions? email the author!
//
// [email]nathan@ncyoung.com[/email]
//get most linked to pages on site
//select count(visitURL) as count, visitURL from referer_visitLog group by visitURL order by count desc
mysql_connect("dbHost", "dbUser", "dbPass");
mysql_select_db("dbName");
if ($refererList){
print "referers:
";
$ar = refererList($refererList,"global");
print join("
",$ar);
}
if ($topRefererList){
print join("
",topRefererList($topRefererList,"global"));
}
function logReferer(){
$currentURL = $_SERVER['REQUEST_URI'];
$fullCurrentURL = "http://" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
$ref = getenv('HTTP_REFERER');
if (!$ref){
dbg("no referer");
return;
}
if ($ref != strip_tags($ref)){
//then they have tried something funny,
//putting HTML or PHP into the HTTP_REFERER
dbg("bad char in referer");
return;
}
$ignore = Array(
'your domain',
'http://www.myelin.co.nz/ecosystem/bot.php',
'http://radio.xmlstoragesystem.com/rcsPublic/',
'http://blogdex.media.mit.edu//',
'http://subhonker6.userland.com/rcsPublic/',
'mastadonte.com',
);
foreach ($ignore as $site){
if (stristr($ref, $site)){
dbg("referer ignored");
return;
}
}
$doubleCheckReferers = 0;
if ($doubleCheckReferers){
dbg("loading referering page");
//this is so that the page up until the call to
//logReferer will get shown before it tries to check
//back against the refering URL.
flush();
$goodReferer = 0;
$fp = @fopen ($ref, "r");
if ($fp){
//timeout after 5 seconds
socket_set_timeout($fp, 5);
while (!feof ($fp)) {
$page .= trim(fgets($fp));
}
if (strstr($page,$fullCurrentURL)){
dbg("found current url in page");
$goodReferer = 1;
}
}
if(!$goodReferer){
dbg("did not find \n\n:$fullCurrentURL:\n in \n\n\n :$page: \n\n\n");
return;
}
}
$anchor = preg_replace("/http:\/\//i", "", $ref);
$anchor = preg_replace("/^www\./i", "", $anchor);
$anchor = preg_replace("/\/.*/i", "", $anchor);
$sql ="insert into referer_visitLog (referingURL,baseDomain,visitURL) values ('$ref','$anchor','$currentURL')";
//print $sql;
mysql_query($sql);
}
function refererList ($howMany=5,$visitURL=""){
$i=2;
$ret = Array();
//if no visitURL, will show links to current page.
//if url given, will show links to that page.
//if url="global" will show links to all pages
if (!$visitURL){
$visitURL = $_SERVER['REQUEST_URI'];
}
if ($visitURL == "global"){
$sqr_recentReferer = mysql_query("select * from referer_visitLog order by visitID desc");
}
else {
$sqr_recentReferer = mysql_query("select * from referer_visitLog where visitURL = '$visitURL' order by visitID desc");
}
while($result_row = mysql_fetch_array($sqr_recentReferer)){
$fullUrl = $result_row['referingURL'];
$domain = $result_row['baseDomain'];
if (!$domain){
continue;
}
if ($last[$domain]){
continue;
}
$last[$domain] = 1;
$temp = "$domain";
array_push($ret,$temp);
if ($i++ > $howMany){
break;
}
}
return $ret;
}
function topRefererList ($howMany=5,$visitURL=""){
$i=2;
$ret = Array();
//see refererList() for notes.
if (!$visitURL){
$visitURL = $_SERVER['REQUEST_URI'];
}
if ($visitURL == "global"){
$sqr_recentReferer = mysql_query("select Count(referer_visitLog.baseDomain) as totalHits, referer_visitLog.baseDomain from referer_visitLog group by referer_visitLog.baseDomain order by totalHits desc limit $howMany");
}
else {
$sqr_recentReferer = mysql_query("select Count(referer_visitLog.baseDomain) as totalHits, referer_visitLog.baseDomain from referer_visitLog where visitURL = '$visitURL' group by referer_visitLog.baseDomain order by totalHits desc limit $howMany");
}
while($result_row = mysql_fetch_array($sqr_recentReferer)){
$count = $result_row['totalHits'];
$domain = $result_row['baseDomain'];
$uSet = mysql_query("select * from referer_visitLog where baseDomain = '$domain' order by visitID desc");
$uRow = mysql_fetch_array($uSet);
$latestUrl = $uRow["referingURL"];
$temp = "$domain ($count)";
array_push($ret,$temp);
if ($i++ > $howMany){
break;
}
}
return $ret;
}
function dbg($string){
//print $string . "\n";
}
if ($createTable){
print "Creating table:
";
mysql_query("
create table referer_visitLog (
visitID int auto_increment,
primary key (visitID),
visitTime timestamp,
visitURL char(250),
referingURL char(250),
baseDomain char(250)
)
") or print "could not create table, might it exist?";
}
create table referer_visitLog (
visitID int auto_increment,
primary key (visitID),
visitTime timestamp,
visitURL char(250),
referingURL char(250),
baseDomain char(250)
)
Last edited by metulj; 30-01-10 at 08:54.
metulj (30-01-10)
using cookie works fine buh the case where user has disabled cookie in his/her browser poses a problem
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks