Prevent curl connection to adtwirl server for pc users.

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

    Prevent curl connection to adtwirl server for pc users.

    Since there are no pc ads in the adtwirl network and every pc user who clicks adtwirl ad will see this message.
    ad id:633
    You can access this ad only with a mobile phone.
    Mobile advertising powered by adtwirl.com.
    you can block the curl request to adtwirl network, if you modify the code a bit with the following function which you can download from: Detect Mobile Browsers - Mobile User Agent Detection

    this will reduce the usage your server ressouces and your server load.

    you need to add this piece of code on the top of the adtwirl_request function:
    PHP Code:
    $mobile mobile_device_detect();
    if(
    $mobile == false) return ''
    combined it will look like:
    PHP Code:
    function adtwirl_request($ads_number 1$use_array true)
        {
          
    $mobile mobile_device_detect();
    if(
    $mobile == false) return '';

        
    // PHP Install Code Version: 21.05.2010 v 1.05.00 BETA
          // Unique id code of your site
          
    $site_code '0e621fab-693d-4457-982b-b884c0ddc6f4';
          
    // Enable image ads (true = enable ; false = disable )
          
    $image_ads true;
          
    // Enable adult ads (true = enable ; false = disable )
          
    $adult_ads true;
          
    /* Enable free ads (true = enable ; false = disable ) you will get points instead of Money for this ads which you can use to advertise your site, if this ads are disabled your site will show only cash ads */
          
    $free_ads true;
          
          
    $request_method 1/* You can chose here the request method for ads, but the best value is 1 which stands for curl request method. Any other value will be readfile which is not recomended. */
          
          // Do not edit from this line
          
    $IP ""; if (isset($_SERVER)) { if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) { $IP $_SERVER["HTTP_X_FORWARDED_FOR"]; $proxy $_SERVER["REMOTE_ADDR"]; } elseif (isset($_SERVER["HTTP_CLIENT_IP"])) { $IP $_SERVER["HTTP_CLIENT_IP"]; } elseif (isset($_SERVER["HTTP_X_REAL_IP"])) { $IP $_SERVER["HTTP_X_REAL_IP"]; } else { $IP $_SERVER["REMOTE_ADDR"]; } } else { if (getenv('HTTP_X_FORWARDED_FOR')) { $IP getenv('HTTP_X_FORWARDED_FOR'); $proxy getenv('REMOTE_ADDR'); } elseif (getenv('HTTP_CLIENT_IP')) { $IP getenv('HTTP_CLIENT_IP'); } else { $IP getenv('REMOTE_ADDR'); } } if (strstr($IP',')) { $ips explode(','$IP); $IP $ips[0]; } if (empty($IP)) $IP $_SERVER["REMOTE_ADDR"]; elseif (strtolower(trim($IP)) == 'unknown'$IP $_SERVER["REMOTE_ADDR"]; $keyname_ua_arr = array('HTTP_X_DEVICE_USER_AGENT''HTTP_X_OPERAMINI_PHONE_UA''HTTP_USER_AGENT'); foreach ($keyname_ua_arr as $keyname_ua) { if (!empty($_SERVER[$keyname_ua])) { $ua urlencode($_SERVER[$keyname_ua]); break; } } $url 'http://a.adtwirl.com/ad.php?site_code='.$site_code.'&ip='.urlencode($IP).'&ua='.$ua.'&uri='.urlencode($_SERVER["REQUEST_URI"]).'&host='.urlencode($_SERVER["HTTP_HOST"]).'&lang='.urlencode($_SERVER["HTTP_ACCEPT_LANGUAGE"]).'&adult='.$adult_ads.'&free='.$free_ads.'&image='.$image_ads.'&ads='.$ads_number.'&code=28-3-10'; if($request_method == 1) { $ch curl_init(); curl_setopt($chCURLOPT_RETURNTRANSFER1); curl_setopt($chCURLOPT_TIMEOUT1); curl_setopt($chCURLOPT_CONNECTTIMEOUT1); curl_setopt($chCURLOPT_HTTP_VERSIONCURL_HTTP_VERSION_1_0); curl_setopt($chCURLOPT_URL$url); $result curl_exec($ch); curl_close($ch); } else { ini_set('default_socket_timeout',1); if (@$file fopen($url"r")) { while(!feof($file)) { $result .= fgets($file1024); } fclose ($file); } }
          if (
    $use_array == true && $ads_number 1)
            {
              
    $arr explode("\n"$result);
              
    $ads = array();
              for(
    $i=0;$i<$ads_number;$i++)
              {
                  if(
    preg_match('/^\<.*\>$/'$arr[$i])) $ads[] = $arr[$i];
              }
              if(
    count($ads)>0)return $ads;
            }
          elseif(
    preg_match('/^\<.*\>$/'$result)) 
              return 
    $result;
        } 
    Done
    Advertise your mobile site for FREE with AdTwirl


    #2
    Whole page at the buttom dissapeared when i added this...
    Last edited by Malka1; 01.08.10, 12:46.

    Comment


      #3
      Originally posted by Malka1 View Post
      Whole page at the buttom dissapeared when i added this...
      have you included the mobile_device_detect function into your page?
      Advertise your mobile site for FREE with AdTwirl

      Comment


        #4
        This is stupid question, of course i did!

        Comment


          #5
          Adtwirl gives me problem On my html Pages. Basically my pages are valid html 4.1, but when I add your adds then a user of mine says pages are not valid. Then I try to validate those page. I saw your ads give me Warning. not the actual error. but it gives me warning.

          Comment


            #6
            Originally posted by khan89 View Post
            Adtwirl gives me problem On my html Pages. Basically my pages are valid html 4.1, but when I add your adds then a user of mine says pages are not valid. Then I try to validate those page. I saw your ads give me Warning. not the actual error. but it gives me warning.
            which warning?
            Advertise your mobile site for FREE with AdTwirl

            Comment


              #7
              Originally posted by GumSlone View Post
              which warning?
              1. Warning Line 68, Column 696: NET-enabling start-tag requires SHORTTAG YES

              …c="http://a.adtwirl.com/ad.gif" alt=""/></a> <a href="http://c.adtwirl.com/cli…



              The sequence <FOO /> can be interpreted in at least two different ways, depending on the DOCTYPE of the document. For HTML 4.01 Strict, the '/' terminates the tag <FOO (with an implied '>'). However, since many browsers don't interpret it this way, even in the presence of an HTML 4.01 Strict DOCTYPE, it is best to avoid it completely in pure HTML documents and reserve its use solely for those written in XHTML.
              2. Warning Line 68, Column 2796: NET-enabling start-tag requires SHORTTAG YES

              …c="http://a.adtwirl.com/ad.gif" alt=""/></a> <a href="http://c.adtwirl.com/cli…



              The sequence <FOO /> can be interpreted in at least two different ways, depending on the DOCTYPE of the document. For HTML 4.01 Strict, the '/' terminates the tag <FOO (with an implied '>'). However, since many browsers don't interpret it this way, even in the presence of an HTML 4.01 Strict DOCTYPE, it is best to avoid it completely in pure HTML documents and reserve its use solely for those written in XHTML.

              Comment


                #8
                Originally posted by Malka1 View Post
                This is stupid question, of course i did!
                works fine for me.

                PHP Code:
                <?php
                error_reporting
                (1);
                require_once(
                'mobile_device_detect.php');


                function 
                adtwirl_request($ads_number 1$use_array true
                    { 
                      
                $mobile mobile_device_detect(); 
                        if(
                $mobile == false) return ''

                    
                // PHP Install Code Version: 21.05.2010 v 1.05.00 BETA 
                      // Unique id code of your site 
                      
                $site_code '0e621fab-693d-4457-982b-b884c0ddc6f4'
                      
                // Enable image ads (true = enable ; false = disable ) 
                      
                $image_ads true
                      
                // Enable adult ads (true = enable ; false = disable ) 
                      
                $adult_ads true
                      
                /* Enable free ads (true = enable ; false = disable ) you will get points instead of Money for this ads which you can use to advertise your site, if this ads are disabled your site will show only cash ads */ 
                      
                $free_ads true
                       
                      
                $request_method 1/* You can chose here the request method for ads, but the best value is 1 which stands for curl request method. Any other value will be readfile which is not recomended. */ 
                       
                      // Do not edit from this line 
                      
                $IP ""; if (isset($_SERVER)) { if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) { $IP $_SERVER["HTTP_X_FORWARDED_FOR"]; $proxy $_SERVER["REMOTE_ADDR"]; } elseif (isset($_SERVER["HTTP_CLIENT_IP"])) { $IP $_SERVER["HTTP_CLIENT_IP"]; } elseif (isset($_SERVER["HTTP_X_REAL_IP"])) { $IP $_SERVER["HTTP_X_REAL_IP"]; } else { $IP $_SERVER["REMOTE_ADDR"]; } } else { if (getenv('HTTP_X_FORWARDED_FOR')) { $IP getenv('HTTP_X_FORWARDED_FOR'); $proxy getenv('REMOTE_ADDR'); } elseif (getenv('HTTP_CLIENT_IP')) { $IP getenv('HTTP_CLIENT_IP'); } else { $IP getenv('REMOTE_ADDR'); } } if (strstr($IP',')) { $ips explode(','$IP); $IP $ips[0]; } if (empty($IP)) $IP $_SERVER["REMOTE_ADDR"]; elseif (strtolower(trim($IP)) == 'unknown'$IP $_SERVER["REMOTE_ADDR"]; $keyname_ua_arr = array('HTTP_X_DEVICE_USER_AGENT''HTTP_X_OPERAMINI_PHONE_UA''HTTP_USER_AGENT'); foreach ($keyname_ua_arr as $keyname_ua) { if (!empty($_SERVER[$keyname_ua])) { $ua urlencode($_SERVER[$keyname_ua]); break; } } $url 'http://a.adtwirl.com/ad.php?site_code='.$site_code.'&ip='.urlencode($IP).'&ua='.$ua.'&uri='.urlencode($_SERVER["REQUEST_URI"]).'&host='.urlencode($_SERVER["HTTP_HOST"]).'&lang='.urlencode($_SERVER["HTTP_ACCEPT_LANGUAGE"]).'&adult='.$adult_ads.'&free='.$free_ads.'&image='.$image_ads.'&ads='.$ads_number.'&code=28-3-10'; if($request_method == 1) { $ch curl_init(); curl_setopt($chCURLOPT_RETURNTRANSFER1); curl_setopt($chCURLOPT_TIMEOUT1); curl_setopt($chCURLOPT_CONNECTTIMEOUT1); curl_setopt($chCURLOPT_HTTP_VERSIONCURL_HTTP_VERSION_1_0); curl_setopt($chCURLOPT_URL$url); $result curl_exec($ch); curl_close($ch); } else { ini_set('default_socket_timeout',1); if (@$file fopen($url"r")) { while(!feof($file)) { $result .= fgets($file1024); } fclose ($file); } } 
                      if (
                $use_array == true && $ads_number 1
                        { 
                          
                $arr explode("\n"$result); 
                          
                $ads = array(); 
                          for(
                $i=0;$i<$ads_number;$i++) 
                          { 
                              if(
                preg_match('/^\<.*\>$/'$arr[$i])) $ads[] = $arr[$i]; 
                          } 
                          if(
                count($ads)>0)return $ads
                        } 
                      elseif(
                preg_match('/^\<.*\>$/'$result))  
                          return 
                $result
                    } 
                echo 
                adtwirl_request();
                echo 
                'test';

                ?>
                Added after 28 minutes:

                Originally posted by khan89 View Post
                1. Warning Line 68, Column 696: NET-enabling start-tag requires SHORTTAG YES

                …c="http://a.adtwirl.com/ad.gif" alt=""/></a> <a onclick="pageTracker._trackPageview ('/outgoing/http_c_adtwirl_com_cli_8230_9993_The_sequence_FOO_ ');" rel="nofollow" href="http://c.adtwirl.com/cli…



                The sequence <FOO /> can be interpreted in at least two different ways, depending on the DOCTYPE of the document. For HTML 4.01 Strict, the '/' terminates the tag <FOO (with an implied '>'). However, since many browsers don't interpret it this way, even in the presence of an HTML 4.01 Strict DOCTYPE, it is best to avoid it completely in pure HTML documents and reserve its use solely for those written in XHTML.
                2. Warning Line 68, Column 2796: NET-enabling start-tag requires SHORTTAG YES

                …c="http://a.adtwirl.com/ad.gif" alt=""/></a> <a onclick="pageTracker._trackPageview ('/outgoing/http_c_adtwirl_com_cli_8230_9993_The_sequence_FOO_ ');" rel="nofollow" href="http://c.adtwirl.com/cli…



                The sequence <FOO /> can be interpreted in at least two different ways, depending on the DOCTYPE of the document. For HTML 4.01 Strict, the '/' terminates the tag <FOO (with an implied '>'). However, since many browsers don't interpret it this way, even in the presence of an HTML 4.01 Strict DOCTYPE, it is best to avoid it completely in pure HTML documents and reserve its use solely for those written in XHTML.
                dont know what its all about, but with w3c validator and standard mobile doctype everything should be ok.
                Last edited by GumSlone; 01.08.10, 14:56.
                Advertise your mobile site for FREE with AdTwirl

                Comment

                Working...
                X