0

ゲームはさまざまな Web サイトでホストされているため、ゲームがどこで何回プレイされているかを確認するためのゲーム追跡システムを構築しています。

ゲームが開始されると、サーバー上の 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

ほとんどのブラウザはHTTP_REFERERを送信します。ただし、ユーザーがファイアウォールやプロキシの背後にいる場合は、リクエストが届く前にヘッダーを削除できる可能性があります。最後に、さまざまなWebサイトに独自のコードが埋め込まれているので、リファラーサイトのURLを取得して、次のようにサーバーに送信してみませんか。

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

ここで、$refは実際のリファラーURLです。信頼性の低いhttpリファラーヘッダーと比較すると、それほど簡単ではありません。

于 2012-04-19T03:10:16.603 に答える
0

ゲームがサーバー リソースを使用して GET リクエストを送信する場合、たとえば、サーバーでgethostbyaddr()<mx:HTTPService関数を使用してホスト名を調べることができます。

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

しかし、リクエストがゲームをプレイしているユーザーからのものであるかどうかはわかりません。

于 2012-04-19T03:08:05.070 に答える