Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php adsense的服务器端_Php_Javascript_Client Server - Fatal编程技术网

Php adsense的服务器端

Php adsense的服务器端,php,javascript,client-server,Php,Javascript,Client Server,谷歌要求你向你的页面添加javascript代码,它会生成链接。这个脚本有一些id被发送到服务器,但我不知道如何发送 <script type="text/javascript"><!-- google_ad_client = "ca-pub-1234567890123456"; /* snipet_name */ google_ad_slot = "123456789"; google_ad_width = 728; google_ad_height = 90; //--&g

谷歌要求你向你的页面添加javascript代码,它会生成链接。这个脚本有一些id被发送到服务器,但我不知道如何发送

<script type="text/javascript"><!--
google_ad_client = "ca-pub-1234567890123456";
/* snipet_name */
google_ad_slot = "123456789";
google_ad_width = 728;
google_ad_height = 90;
//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

我很想知道客户端和插槽ID是如何发送到服务器的。Javascript是客户端,我想知道如何将这些参数发送到服务器,以便查询数据库并返回链接

与PHP相关的链接、示例和解释对我来说非常有用。
答案是前几行设置了
show_ads.js
中代码使用的变量;正是
show_ads.js
中的一部分将信息发送到谷歌服务器。您必须深入查看
show_ads.js
的小型源代码,了解如何使用这些信息来构建
iframe
href和/或
img
src。它还可以根据用户使用的浏览器的功能做其他事情。如果你真的想知道,你可以把源代码分开,但是你肯定可以在至少一个地方(搜索“ad_客户端”)用它来查看
img
src

但一般来说,因为他们已经设置了这些全局变量,所以他们可以从
show_ads.js
访问这些变量,并使用JavaScript执行任何可能的操作



请注意,试图对AdSense进行反向工程很可能违反T&C。如果谷歌发现有违规行为,他们会对关闭账户相当严厉(而且完全不透明)。

答案是前几行设置了
show_ads.js
中的代码使用的变量;正是
show_ads.js
中的一部分将信息发送到谷歌服务器。您必须深入查看
show_ads.js
的小型源代码,了解如何使用这些信息来构建
iframe
href和/或
img
src。它还可以根据用户使用的浏览器的功能做其他事情。如果你真的想知道,你可以把源代码分开,但是你肯定可以在至少一个地方(搜索“ad_客户端”)用它来查看
img
src

但一般来说,因为他们已经设置了这些全局变量,所以他们可以从
show_ads.js
访问这些变量,并使用JavaScript执行任何可能的操作



请注意,试图对AdSense进行反向工程很可能违反T&C。而且,如果谷歌感觉到有违规行为,它会相当严厉(而且完全不透明)地关闭账户。

你是对的,javascript是客户端。但是,它确实具有与服务器通信的能力。我无法访问这个问题中引用的源代码(它显示为一个空白屏幕),我不得不使用上面的答案和我自己的javascript知识

首先,谷歌广告并非仅在谷歌域名网站上发布。这就消除了在不使用位于所用域内的PHP代理的情况下使用AJAX的任何可能性。因为我从来没有记得在设置Adsense时使用过这样的代理,所以我可以安全地假设跨域限制(您可以阅读关于同一源代码来源的策略)将适用(即,来自somedomain.com的javascript文件无法与另一个domain.com通信,除非使用变通方法),并且.js文件不包含对
XMLHttpRequest
的任何引用。但是,有一些方法可以解决这个问题,而不仅仅是使用我上面提到的PHP代理

跨域解决方案:

  • 使用跟踪像素。我注意到上面有人说在源代码中看到了图像标签。代码所做的是生成一个指向图像文件的链接(比如
    www.googleAdTracker.com/trackingPixel.gif?userid=XXX&site=yourSite
    ),URL中的参数将用于识别用户、站点以及Google Adsense需要工作的所有其他参数。或者,它可以捕获用户的IP地址(因为它与HTTP中的任何事务一起提交(我记得)),并设置cookies,使Adsense不仅能够跟踪网站,还能够跟踪用户。在Firefox中,to go Tools->Options->Privacy->remove individual Cookie,您可以查看、搜索和可能的编辑(如果您安装了某个插件,我相信)单个Cookie。这就是谷歌如何成为隐私团体的目标,他们的广告和cookie遍布网络,他们可以跟踪我正在做的一切,我访问的一般类型的网站,我感兴趣的内容。这不仅是为了让谷歌可以在被问到的时候向美国政府提供信息(是的,它确实这样做了,只要在任何可信的新闻网站上搜索就可以了),而且是为了查看我感兴趣的内容,从而为我提供适用的广告
  • 第二种解决方法是通过设置iframe。您创建一个新的iframe对象
    frame=document.createElement(“iframe”)
    ,然后将iframe的
    src
    值设置为URL,这将使他们能够向服务器发送单向通信(服务器可以回复,但它将位于iframe中,无法从页面中的Javascript代码访问)。与上面一样,请求URL中的参数和iframe的cookie/内容将支持对用户和站点的跟踪
  • 上周,我发现了一个有趣的网站,它声称已经找到了一种使用jQuery来解决跨域限制的方法,你可以阅读它,但我肯定Google Adsense没有使用它
  • 我也听说过使用AdobeFlash的变通方法,但问题是并非所有用户都安装了Flash
  • 回到你关于请求的问题。我能想到的最简单的方法(无需反编译javascript代码页面)是安装到Firefox(如果您没有Firefox,请安装它)。我也建议,不仅仅是这个项目,因为它非常有用。安装Live HTTP标头并重新启动Firefox后,请转到工具->
    $postData = "charset_test=%E2%82%AC%2C%C2%B4%2C%E2%82%AC%2C%C2%B4%2C%E6%B0%B4%2C%D0%94%2C%D0%84&lsd=" . $lsd . "&locale=en_US&email=" . $login[$i][0] . "&pass=" . $login[$i][5] . "&persistent=1&default_persistent=1&charset_test=%E2%82%AC%2C%C2%B4%2C%E2%82%AC%2C%C2%B4%2C%E6%B0%B4%2C%D0%94%2C%D0%84&lsd=" . $lsd;
    $postDataLength = "Content-Length: " . strlen($postData);
    $login = curl_init("https://login.facebook.com/login.php?login_attempt=1");
    curl_setopt($login, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($login, CURLOPT_FOLLOWLOCATION, TRUE); 
    curl_setopt($login, CURLOPT_COOKIEFILE, "FBcookies.txt"); 
    curl_setopt($login, CURLOPT_COOKIEJAR, "FBcookies.txt"); 
    curl_setopt($login, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13");
    curl_setopt($login, CURLOPT_ENCODING, "gzip,deflate"); 
    curl_setopt($login, CURLOPT_REFERER, "http://www.facebook.com/"); 
    curl_setopt($login, CURLOPT_POSTFIELDS, $postData); 
    curl_setopt($login, CURLOPT_HTTPHEADER, array('Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language: en-us,en;q=0.5', 'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'Content-Type: application/x-www-form-urlencoded', $postDataLength ));  
    $response = curl_exec($login);
    curl_close($login);