0

我正在构建一个游戏跟踪系统来查看我的游戏在哪里玩以及玩了多少次,因为游戏托管在许多不同的网站上。

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

我正在尝试找出正在玩我的游戏的 URL。

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

我试过这个:

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

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

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

4

3 回答 3

1

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

稍后通过执行以下操作显示:

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

单击此处获取额外帮助

于 2012-04-19T03:12:16.257 回答
0

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

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

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

于 2012-04-19T03:08:05.070 回答
0

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

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

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

于 2012-04-19T03:10:16.603 回答