我正在构建一个游戏跟踪系统,以查看我的游戏的播放位置以及游戏在许多不同网站上托管的次数。
当游戏开始时,它会向我服务器上的PHP脚本发送GET请求。
我正在尝试查找正在播放我的游戏的网址。
我尝试了很多东西,但似乎只能获得托管我的PHP脚本的地址,这不是很有用。
我试过了:
$calling_url = mysql_real_escape_string($_SERVER['HTTP_REFERER']);
但每次来自不同的浏览器似乎都是空白的。
那么,根据GET请求,有关如何找到我的游戏所在位置的任何想法?
答案 0 :(得分:1)
您需要构建一个查询字符串。您可以通过发送类似“http://www.domain.com/welcome.php?referalname=site”的内容来完成此操作
稍后显示:
You came from <?php echo $_GET["referalname"]; ?>.
答案 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标题相比,对你来说并不容易。