3

私は現在、PHPのMySqlでユーザー紹介追跡スクリプトの作成に取り組んでいます。プランに従って、登録を完了するすべてのユーザーに紹介リンクが提供され、FacebookやTwitterで私のアプリケーションに関する情報を共有できます。

さて、このユーザーが少なくとも5人のユーザーを私のサイトに連れてくるまで、彼はホームページを表示することを許可されません。

さて、このユーザーが連れてきた紹介者の数を追跡するにはどうすればよいですか?

1. $ _ HTTP_REFERRERを使用する場合-この場合、ユーザーが自分のページにアクセスした場所からリンクを取得できます。これが私の紹介リンクである場合、このユーザーのデータベースエントリを更新し、紹介された人の数+1を更新できます。しかし、$ _ HTTP_REFERRERの信頼性はどれくらいですか?

2.Cookieを追跡するために使用する場合:ここでは、すべてのブラウザにCookieを設定する必要があるのか​​、ブラウザに依存しないCookie設定方法があるのか​​について少し混乱していますか?Cookieを設定する際、どのように保存するか、つまり、紹介IDのみを使用するか、紹介IDとsite_id(またはその他の組み合わせ)の組み合わせを使用する必要があります。

また、紹介情報をデータベースに保存する必要があります。このテーブルの理想的なテーブルスキーマは何である必要がありますか。私は次のようなものを計画しました:(user_id、user_name、no_of_referrals、referred_by)。

4

2 に答える 2

5

リファラーを取得するには、を使用します$_SERVER['HTTP_REFERER']。ほぼすべてのブラウザがリファラーを送信しますが、送信することは必須ではありません。これはクライアント側のものであるため、ユーザーが簡単に変更できます。

私が見たほとんどのサイトでは、このようなものを使用して、元のサイトを追跡するためにURLの変数を使用しています。このようなもの:

http://www.yoursite.com/someresource?originaccount=12345678

これがうまくいくかどうかは、明らかに誰かがIDを変更する可能性があるため、その情報をどのように処理するかによって大きく異なります。

于 2011-08-29T14:17:10.280 に答える
0

にはいくつかの問題があるため$_SERVER['HTTP_REFERER'](一部のブラウザ、たとえば:一部のバージョンのIE)、特に参照カウンター機能については、普遍的な方法としてこれに依存することはできません。これに対する一般的な代替手段は、URLを介して参照IDを送信することです。これにより、$_GETを使用して参照を検証できます。ただし、セキュリティ上の理由から、URLに暗号化されたID(参照:Mcrypt)を使用して、プレーンに送信することを検討することもできます。

于 2011-08-29T14:30:26.373 に答える