2012-04-19 18 views
0

ゲームの追跡システムを構築して、多くの異なるWebサイトでゲームがホストされているため、ゲームのプレイ位置と回数を確認しています。GETリクエストのオリジン

ゲームが始まると、私のサーバー上のPHPスクリプトにGETリクエストが送信されます。

私は自分のゲームが再生されているURLを見つけようとしています。

私はたくさんのことを試しましたが、私のPHPスクリプトがホストされていたアドレスを取得できるように思えましたが、それはまさに有用ではありません。

私はこの試みた:

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

をしかし、ちょうど別のブラウザから毎回白紙のようです。

GETリクエストに基づいて、自分のゲームがプレイされている場所を見つける方法に関するアイデアはありますか?

+0

ているものあなたは、再生しているユーザーのIPを知りたいですか? –

答えて

1

クエリ文字列を作成する必要があります。あなたはこれを行うことにより、

表示後に「http://www.domain.com/welcome.php?referalname=site」のようなものを送信することにより、これを行うことができます。

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

Click here for Extra Help

+2

... XSS天国... –

+0

https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29 - http://w3fools.com/ –

+0

ええ、それはもっと意味があると思います。私はXSSがここで問題になるとは思わない。 – Matthew

0

ゲームは<mx:HTTPService、おそらくあなたは、ホスト名を見つけるために、サーバー上gethostbyaddr()機能を使用することができて、たとえば、サーバのリソースを使用してGETリクエストを送信する場合:

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

しかし、要求がユーザからのものである場合ゲームをプレイしているかわかりません。

0

ほとんどのブラウザはHTTP_REFERERを送信します。ただし、ユーザーがファイアウォール、プロキシの背後にある場合は、要求が届く前にヘッダーを取り除くことができます。最後に、あなたが様々なウェブサイトに埋め込まれた独自のコードを持っていることから、なぜあなたは単に参照元サイトのURLをつかむしていないと、このようなあなたのサーバーに送信:

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

を$ refが、実際の参照元URLです。それほど信頼できないhttpリファラーヘッダーと比べて、あなたにとっては簡単ではありませんか?

関連する問題