4

アイデアは、ユーザーのプロモーション コードを受け入れるページを作成することです。ユーザーが [送信] をクリックすると、コードがデータベースを呼び出して、プロモーション コードが実際に有効であることを確認します。利用可能なプロモーション コードのリストと、「HasBeenClaimed」などと呼ばれるビット変数を含む「PromoCode」テーブルをデータベースに作成する予定です。私は暗号化などに精通しているわけではありません。しかし、実際のクリア テキスト プロモーション コードをこのテーブルに格納するのではなく、暗号化/ハッシュ化したものなどを格納したいと考えています。それのバージョン。そのため、誰かが悪意を持ってテーブルのデータにアクセスしたとしても、このハッシュ化されたプロモーション コードでは何もできません。

とにかく、機能的には、ユーザーがプロモーション コードを送信すると、コードはそのハッシュ値を取得してデータベース内のものと比較するようなことを行います。データベース内のレコードと一致し、「HasBeenClaimed」がfalseである場合、プロモーションを続行します。

私は純粋に疑似コードを話しているので、用語が正しくない可能性があります。しかし、あなたは私が望むものの基本的な考えを理解していると思います.

私のプロモーションはあまり価値がありません。「最初の 2 か月が半額になる」というものです (2 か月間、毎月 25 ドルの割引に相当します)。参考までに、このプロモーションを反映する PayPal ボタンを作成しました。このボタンは、プロモーション コードが実際に有効である場合にコードがリダイレクトする Web ページで使用されます。

質問どこから始めればよいか正確にはわかりませんし、「プロモーション コード」に関する一般的なベスト プラクティスもわかりません。既存の ASP.NET Web サイトにプロモーション コード機能を実装する際の一般的なベスト プラクティスについてアドバイスをください。

4

3 に答える 3

3

この質問に対する答えは、提供するプロモーションの種類によって大きく異なります。

プロモーションの価値がかなり低い場合、Get 1 dollar discount on you next purchase of 5 dollars or moreデータベース内のプロモーション コードを保護する意味はあまりありません。このようなシナリオでは、プロモ コードをハッカーに知られても最悪の事態にはなりません。むしろ、ハッカーがデータベースへのアクセス権を取得したという単なる事実は、いくつかのプロモーション コードが盗まれたことよりもはるかに懸念されます。

一方、プロモーションの価値が高い場合はBe one of the three out of 2 million users that wins a new car、プロモーション コードを保護することは非常に理にかなっています。このようなシナリオでは、次のことを確認する必要があります。

  1. プロモーション コード自体は十分に長く、ランダムであるため (十分にランダムにすることは非常に難しい場合があります)、推測することは事実上不可能になります。
  2. プロモーション コードは、誰かがその保存場所にアクセスした場合に保護する方法で保存されます。ある種のハッシュ化または暗号化された形式で保存することが最善の策でしょう。どういうわけかそれを分割して、その一部をいくつかの異なる場所に保存することもできます.

この場合、同僚 (およびあなた) がハッカーの最有力候補であることを覚えておいてください。彼らがそれを請求する資格がない場合でも、コードを盗んで、母親の側の2番目のいとこに渡すことができます (または同様のもの)。

また、サイトホストの管理者は、ストレージフォームからコードが何であるかを把握できないようにする必要があります.

また、ユーザーがプロモーション コードを入力するページが SSL を使用していることを確認して、転送中に誰かが傍受するのを防ぎます。


より一般的に言えば、プロモーション コードを 1 回だけ使用するか、複数の人が同じコードを使用できるかを決定する必要があります。

のようなプロモーションを行うことは珍しくありませんVisit us on [popular social network] to get a free baseball cap with your next purchase。この場合、誰かが実際に訪問せずにコードを入手するリスクがあるとしても、各ユーザーが同じプロモーション コードを使用できるようにすることは理にかなっています。

もちろん、両方のタイプ (単一/複数使用) をサポートできます。

また、プロモーション コードがどのように生成され、配布されるかを理解する必要があります。メールキャンペーンでそれらを送信しますか? それらを地元の新聞に掲載しますか。紙のクーポンを印刷して配布しますか、それとも普通郵便で郵送しますか? コードを取得するには、ユーザーはキャプチャを 20 回破る必要がありますか?

また、誰がプロモーション コードを使用する資格があるかを判断する必要があります。登録ユーザーである必要がありますか、それとも誰でも使用できますか? 未登録ユーザーはどのように使用しますか?


技術的には多くのオプションがあります。それは、話している Web アプリケーションの種類によって異なります。まず、どのような種類のプロモーションをサポートするかを考えてみます。候補者:

  1. 購入時の追加割引
  2. 無料の追加プロモーション製品
  3. 次回注文で送料無料
  4. 他の方法ではアクセスできないサイトの部分への 2 か月間のアクセス
  5. (等)

次に、サポートしたいプロモーションの種類に基づいてフレームワーク (データベース テーブル、ビジネス ロジックなど) を構築します。個人的には、プロモーションごとに個別のページを作成するつもりはありません。プロモーションを可能な限りサイトの既存の流れに統合しようとします.

于 2013-10-25T16:07:56.893 に答える