我正在构建一个游戏跟踪系统,以查看我的游戏在哪里被玩以及玩了多少次,因为游戏被托管在许多不同的网站上。
游戏开始时,它会向我的服务器上的PHP脚本发送一个GET请求。
我正在尝试找出正在玩我的游戏的URL。
我尝试了很多方法,但似乎只能获得托管PHP脚本的地址,这并不是很有用。
我试过这个:
$calling_url = mysql_real_escape_string($_SERVER['HTTP_REFERER']);但每次从不同的浏览器看起来都是空白的。
那么,对于如何根据GET请求找到正在玩游戏的位置有什么想法吗?
发布于 2012-04-19 11:12:16
您需要构建一个查询字符串。您可以通过发送类似于"http://www.domain.com/welcome.php?referalname=site“的命令来完成此操作
稍后通过执行以下操作来显示:
You came from <?php echo $_GET["referalname"]; ?>.Click here for Extra Help
发布于 2012-04-19 11:08:05
如果游戏使用服务器资源发送GET请求,例如使用<mx:HTTPService,那么也许你可以在服务器上使用gethostbyaddr()函数来找出主机名:
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);但如果请求来自玩游戏的用户,我就不确定了。
发布于 2012-04-19 11:10:17
大多数浏览器都会发送HTTP_REFERER。然而,如果你的用户在防火墙和代理之后,他们可能会在请求到达你之前剥离报头。最后,既然你已经在不同的网站上嵌入了你自己的代码,为什么你不简单的抓取referrer站点的url并像这样发送到你的服务器上呢?
<script type="text/javascript" src="http://myserver.com/game.js?ref=$ref"></script>其中$ref是实际的引用url。与不太可靠的http referrer报头相比,这对你来说不容易吗?
https://stackoverflow.com/questions/10221084
复制相似问题