获取请求来源

时间:2012-04-19 03:02:10

标签: php javascript html5 post get

我正在构建一个游戏跟踪系统,以查看我的游戏的播放位置以及游戏在许多不同网站上托管的次数。

当游戏开始时,它会向我服务器上的PHP脚本发送GET请求。

我正在尝试查找正在播放我的游戏的网址。

我尝试了很多东西,但似乎只能获得托管我的PHP脚本的地址,这不是很有用。

我试过了:

$calling_url = mysql_real_escape_string($_SERVER['HTTP_REFERER']);

但每次来自不同的浏览器似乎都是空白的。

那么,根据GET请求,有关如何找到我的游戏所在位置的任何想法?

3 个答案:

答案 0 :(得分:1)

您需要构建一个查询字符串。您可以通过发送类似“http://www.domain.com/welcome.php?referalname=site”的内容来完成此操作

稍后显示:

You came from <?php echo $_GET["referalname"]; ?>.

Click here for Extra Help

答案 1 :(得分:0)

如果游戏使用服务器资源发送GET请求,例如使用<mx:HTTPService,那么您可以在服务器上使用gethostbyaddr()函数找出主机名:

$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);

但如果请求来自玩游戏的用户,我不确定。

答案 2 :(得分:0)

大多数浏览器都会发送HTTP_REFERER。但是,如果您的用户位于防火墙,代理之后,他们可能会在请求到达之前剥离标头。最后,因为您在各种网站上都嵌入了自己的代码,为什么不直接获取引荐来源网站的网址并将其发送到您的服务器,如下所示:

<script type="text/javascript" src="http://myserver.com/game.js?ref=$ref"></script>

其中$ ref是实际的引荐来源网址。与不那么可靠的http referrer标题相比,对你来说并不容易。