-3

Facebook の一部のソーシャル ゲームでは、ユーザーが自分のフィードへのリンクを公開して、「ここをクリックしてボーナス ゴールド コインを入手してください。最初の 5 人に限定されています」と言うことができます。

どうすればそのようなリンクを生成できますか?

このリンクは、不正行為として簡単に「生成」されるべきではありません。

また、処理するためにどのデータベース テーブルを追加する必要がありますか。

1) ボーナスは 5 回まで請求できます
2) 異なる人が請求する必要があります

(各個人は、Facebook などのソーシャル ネットワーク プラットフォームで一意の数値 ID を持っています)

?

アップデート:私が考えていた方法は、賞品テーブルで次のプライマリ ID (整数インデックス) を取得し、それを秘密鍵で md5 して「賞品コード」を取得し、それがまだ「賞金請求」にないことを確認することです。 table -- すでに存在する場合は、次のプライマリ ID を使用します (レコードを追加し、一意の ID が見つかるまで md5 を再計算します)。この PrizeClaim テーブルは、price_code と user_id のジャンクション テーブルであるため、1 つの賞品を複数の人が請求することも、1 人が複数の賞品を請求することもできます。ユーザーがリンクをクリックすると、price_code と user_id のレコードがテーブルに追加されますが、price_code の一致によって取得されたレコードの数が 4 以下である場合に限ります。すでに 5 人いる場合は、「遅すぎる -- すべての人が主張している」と報告するだけです。この方法はどうなのか、抜け穴や改善点はあるのか、

(たとえば、賞品テーブルは ID を取得するための単なるテーブルであり、他には何も保存されません。おそらく、現在のタイムスタンプにマイクロ秒と乱数を加えて md5 を実行できます。賞品コードが既に存在する場合は、もう一度繰り返します。この場合、プライズ テーブルは忘れて構いません。)

4

1 に答える 1

0

現在の有効なハッシュと、それが要求できる最大数を含むテーブルを作成し、リンクをクリックしたすべての ID を安全にする別のテーブルを作成します。これにより、リンクがまだクリックされているかどうか、別の人だけがクリックしたかどうかを確認できます。

于 2010-04-25T16:05:59.790 に答える