0

申し訳ありませんが、これは奇妙なことになります。うまくいけば、適切なWebサイトに投稿します。

この質問はインタビューから得ました。

2つのサーバーを入手した場合、1つはメディアで、もう1つはユーザー認証が必要なWebサイトをホストしています。

ユーザーは、メディアサーバーにアクセスする前に、1つのサーバーでホストされているWebサイトにログインする必要があります。認証されたユーザーのみがメディアとメディアサーバーにアクセスできます。

PHPを介してこれを行う方法がわかりませんか?これは、システム管理者とKerberosサーバーのチケットシステムのセットアップを介して実行できると思います。しかし、PHPの場合、RSA公開鍵暗号化の何らかの形式しか考えられませんか?

別の解決策/ハックは、ある種のハッシュを作成し、それをURLに追加することでした。

または

ユーザーIPを確認しますか?ユーザーがメディアファイルにアクセスするたびに?

注意してください、私が申請した会社、マネージャーはまったくスキルがないようでした。それで、多分安全な解決策はありませんか?

ノート:

サーバーに含まれているPHPのセッションを使用できないと確信していますか?おそらくクッキー?それも安全ですか...

前もって感謝します。

4

2 に答える 2

2

両方のサーバーに共通のドメインを使用してから、暗号化されたCookieを使用してドメインレベルの認証を実行します。この場合、両方のサーバーが同じ秘密復号化キーを持ちます。

于 2012-11-09T16:43:16.607 に答える
1

これは非常に簡単な場合もあれば、非常に難しい場合もあります。メディアサーバーがWebサーバーを信頼するかどうかによって異なります。

シナリオ1:メディアサーバーがWebサーバーを信頼する-簡単

  • どちらも共有秘密を維持します(最も広い意味では、公開鍵と秘密鍵のペアになる可能性があります)
  • ログイン時に、Webサーバーは、共有シークレット(またはWebサーバーが保持する部分)で署名または暗号化されたトークンをクライアントに渡します。
  • クライアントはこのトークンをメディアサーバーに提示し、メディアサーバーは共有シークレットのコピー(または一部)を介してトークンを認証します
  • したがって、メディアサーバーはアクセスを決定する立場にあります

シナリオ2:メディアサーバーがWebサーバーを信頼しない-ハード

  • 心に留めておいてください、あなたは常にある種の共通の信頼のプールを必要としています
  • これは、Kerberos、OpenIDなどの分散認証システムにすることができます。
于 2012-11-09T16:47:45.030 に答える