1

ライブ ストリーミング ページに接続するユーザーを制限して、ユーザーがパスワードを共有したり、別の場所から同じアカウントで複数回ログインしたりできないようにしたいと考えています。

1 人のユーザーが自宅で 2 つの異なるデバイス (たとえば、コンピューターと Google TV など) にログインしてもかまいません。これは、送信元 IP アドレスに基づいて制限することが、これを処理する正しい方法だと思います。

問題は、ユーザーがログインし、IP アドレスを記録して、その IP からのみログインするように制限すると、場所を変更できないことです。

HTTP では、ログイン後はコネクションレスになるため、CDN からのストリームを視聴しているかどうかわからなくなりました。

ユーザーが別の場所にログインした場合、クライアントでjavascriptを使用してプレーヤーを切断する必要があると思います。

これは、ログインしているクライアントと適度にスケーラブルな方法で通信する方法が必要であることを意味します。

この問題を処理する適切な方法を提案できますか? これには、シンプルでスケーラブルなソリューションが必要だと感じています。

4

1 に答える 1

2

それは、アクセス制御を迂回する人々に対してどれだけ敏感であるかに大きく依存します.

一部の人々がそれらをバイパスしても問題ない場合は、クライアント側でアクセス制御を実行し、クライアントがサーバーに 60 秒ごとに ping を送信するか、サーバーにまだストリーミング中であることを伝えることができます。次に、サーバーで、ユーザーの IP アドレスを期限切れキューに保存します。そのため、プレーヤーがサーバーへの ping を停止した場合、IP アドレスは、たとえば 3 分でキューから期限切れになります。サーバーに ping を実行するということは、単純な http GET 要求を送信して、セッションを開いたままにしておくことを意味します。ユーザーがクライアントを閉じると、ping が停止し、サーバーはそのクライアントの IP アドレスを 3 分後に期限切れにします。その時点で、ユーザーは別の IP アドレスでログインできます。

知識のあるユーザーは、Chrome などのブラウザーでネットワーク イベントを監視し、コンテンツがどこから提供されているかを確認し、CDN 自体を制御できないため、制限を簡単に回避できることを覚えておくことが重要です。

より厳密な制御が必要な場合は、サーバーからコンテンツを提供する必要があります。そうすれば、クライアントがいつストリームへのアクセスを停止したかを完全に知ることができます。

中途半端なところもあるかもしれません。CDN なしでストリーミング速度が心配な場合は、CloudFlare.com を検討してみてください。CloudFlare は、動的なものも含め、すべての http リクエストの前に位置する CDN レイヤーです。静的リクエストは通常​​の CDN のようにエッジから処理されますが、動的リクエストは CloudFlare のネットワークを介して逆プロキシされ、毎回サーバーに返されます。CloudFlare に対して動的コンテンツのように見えるようにストリーミング リクエストを設定すると、ユーザーを個別に追跡しながら、エッジ ポイントへの低遅延、高帯域幅接続を介したストリーミングの潜在的な利点が得られます。

于 2013-04-13T22:58:19.597 に答える