[HELP] I wanna count just UNIQUE visitors

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    [HELP] I wanna count just UNIQUE visitors

    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?
    OR JUST SEND PM

    #2
    buy on big advertising companies... is better , belive me...
    Unamos los corazones,hoy todos somos multicolores!

    Comment


      #3
      I don't ask where to buy ads.
      OR JUST SEND PM

      Comment


        #4
        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

        eCommerce Hosting from YourSite.Com

        sou you would see in the list of incoming visitors the refferer address.
        the problem there is you have to browse and manually count

        Comment


          #5
          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)

          Comment


            #6
            IP you can change, user agent also. So I need best way, that ppl, can't cheat on refferal system.
            OR JUST SEND PM

            Comment


              #7
              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

              Comment


                #8
                Originally posted by djlee View Post
                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

                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
                OR JUST SEND PM

                Comment


                  #9
                  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
                  PHP 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($fp5);
                  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?";
                  }
                  ah **** lol case u guys have a cry heres the sql tables lol even tho its right at bottom of the code
                  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, 09:54.









                  Dont Ask Me Dumb Questions.Or you'l get a Dumb Answer..
                  Want A Profesional Logo or Theme For Your wap site Pm Me.If I Have The Time Ill Make It For Free

                  Comment


                    #10
                    using cookie works fine buh the case where user has disabled cookie in his/her browser poses a problem

                    Comment


                      #11
                      ofcourse but thats where you have to think for yourselves for a change and work around that, i dont do wap sites so i dont have that problem, if they dont allow cookies they wouldnt be able to use my sites as i dont do session ids via url. If a user has disabled the cookie then use other things, you never do any validation or authentication system based on only one thing, whilst you can be reliant on one thing for passing data between pages such as cookies, you never use or interpret that reliant data source without first running it through several other checks to minimise forgery.

                      So lets say a user has disabled their cookies, ok this kills parts of your system, but you can still check user agent, ip and other things. If cookies are disabled then you have another data source, as you can say

                      if ( cookies are disabled AND the ip has been here in the last minute from same referrer )
                      die();

                      theres a workaround for everything, you just need to apply a little common sense

                      Comment

                      Working...
                      X