サブスクリプションベースのウェブサイト(月額料金)があり、月額料金の支払いを避けるためにユーザーがアカウントを共有しないようにしたいと考えています。ユーザーが同じアカウントを共有できないようにするにはどうすればよいですか? (ASP.NET MVC)
これを行う方法はありますか?
乾杯、
マイク
サブスクリプションベースのウェブサイト(月額料金)があり、月額料金の支払いを避けるためにユーザーがアカウントを共有しないようにしたいと考えています。ユーザーが同じアカウントを共有できないようにするにはどうすればよいですか? (ASP.NET MVC)
これを行う方法はありますか?
乾杯、
マイク
ウェブをサーフィンするために同じ外部IPを使用するユーザーがいるため、IPを使用するアプローチは適切ではありません。しかし、場合によっては適切なアプローチです(たとえば、イントラネットのWebアプリケーションで言えば)。 同じログインの同時セッション数を監視できます。 1つの方法は、同じログインに対して複数の同時セッションが存在する場合にログを取ることです。あなたはログを分析するかもしれません。 これらのデータを基に、何らかの措置を講じることができます。がんばろう。
あなたは、残念ながら、ここで運のうちのかなりのです。あなたがここで取ることができる唯一の潜在的なルートは、IPアドレスをチェックすることですが、これはこのメカニズムにとって非常に信頼性がありません。
右。明らかに、「あなたは1つのIPからサーバーを使用するだけです」と言うことができます。これは、ほとんどのアカウント共有を敗北させるだけでなく、正当なユーザーの大きなグループを怒らせるでしょう。 –
アカウントのIPアドレスのログを保存します。迅速かつ頻繁に変更される場合は、アカウントが複数のユーザーによって使用されていると想定することは安全だと思います。
ほとんどの人は、プロバイダに接続するたびに新しいIPを割り当てられると思っていました。私はこのアプローチが一意のユーザーを示す良い指標にはならないと考えています。 – paul
@Paul:あなたの前提は正しいです。私たちのDSLラインはそのように機能します。 –
私はログのアイデアも好きです。防御ではありませんが、IPとジオロケーションを使って各ログインを記録したことをユーザーが確認できれば(そのアイデアについてはhttp://dev.maxmind.com/geoip/legacy/geoliteを参照)、そのログにはそのログが表示されますあなたはあなたのサービスの盗難に遭っています。あなたは盗難の証拠を持っており、アカウントを無効にしたり、少なくとも調査を開始したりすることができます。 –
これを明確にする方法はありません。ただし、生年月日、出身地などのセキュリティに関する質問をするために、認証のレイヤーを上に追加することができます。
私はこの情報を多くの人に与えることにもっと嫌です!
また、ログインの複数のセッションを許可せず、認証レイヤーで実装します! –
私はまた、この情報をランダムなウェブサイトに与えることには消極的です。 –
私はそれをやっている人は誰も聞いていないので、私たちは考えて何かを考えなければなりません。
アカウントIDとアクティビティタイムスタンプでIPアドレスを記録します。そのIPがどこから来たのかを示すWebサービスを探します。異なるIP上の同じアカウントからの接続を探します。
たとえば、同じIP上に2つの同時セッションがある場合は、わかりません。 FirefoxとChromeを同時に開いている可能性があります。
異なるIPを持つ2つの同時セッションがある場合、私はアカウントを共有しています(これが頻繁に発生する場合)。
私は週に何種類かのIPを使用していますが、別のコンピュータを使用したり、友人のインターネット接続を利用したりすることができますので、教えられません。たとえIPが異なる国にあるとしても。
したがって、IPアドレスのロギング、ロケーションサービスの検索、ライブデータから作成されたテストルールのテストをお勧めします。
複数の人が同時に同じアカウントを使用していたり、別の時間に停止しようとしていますか?
ユーザーのセッションにGUIDを保存し、Cookieに設定した値と照合して前者を停止することができます。問題ない。
後者を確実に停止することはできません。 IPの格納はある程度は機能しますが、ほとんどのホームユーザーには新しいIPが頻繁に割り当てられます(別のコメントで前述したように)。 IP - > Locationを使用して、場所が頻繁に変化するかどうかを調べることができます。
賢明なユーザーは、このメカニズムも無効にするためにプロキシサーバーを使用します。
同じマシン上の複数のユーザーは、Cookieを共有していないため動作しません。セッションがクッキーベースの場合、それは動作しません。 –