2010-12-14 3 views
0

支払いサーバーがあります。私は正常にcURLを介してデータを送信し、適切な鍵と証明書と支払いサーバを正しく設定することができます。しかし、クライアントがクレジットカードデータを入力できるように、そのサーバーにリダイレクトする必要があります。リダイレクトをどうすればできますか?アクセスのために特定の証明書を要求するhttpsにリダイレクトする方法

機能ヘッダー(「場所:https:// ....」)にヘッダーの一部としてキー/証明書を追加する可能性はありますか? ?

+0

支払いシステムはこのように機能しますか?あなたはその文書を読んだことがありますか? –

+0

はい。ブラウザに証明書をインストールしてリダイレクト先のアドレスを入力すると、応答が返ってきます。ですから、証明書をどこかに入れて – banesto

答えて

0

リダイレクトとともに証明書を送信できたとしても、ブラウザはそれを検証する必要があります。しかし、あなたはできません。それは不可能だ。定期的なリダイレクトを送信する必要があります。それはhttpsアドレスであるため、ブラウザは最初にターゲットホストから証明書を要求し、それを検証します(必要なユーザー操作を含む)。結果は同じです。

ユーザに証明書の受け入れ/拒否または拒否を要求するポップアップダイアログを回避する方法はありません。 HTTPSは、適切な暗号スイートが使用され、サーバー証明書が検証され、信頼されている場合、盗聴者やman-in-the-middle攻撃からの妥当な保護を保証するように設計されています。 (ウィキペディアからの引用)

+0

OKしなければなりません。その後、リダイレクトする前にブラウザに証明書をインストールする必要がありますか?リダイレクト中にこの証明書が適用されるようにサーバーにこの証明書をインストールしますか? – banesto

+0

[OK]を、他の側は、このタスクについては、彼らは認証を必要としないアドレスを持っていると答えたので、この質問の緊急性が低下しますが、理論的にはそれがどのように達成できるか興味深いです。たぶんそれは異なって解決することができます - 何らかのcURL認証を使用し、それが終わった直後に、尖ったアドレスにリダイレクトしますか? – banesto

+0

@banesto:事前に証明書をインストールしておらず、ブラウザが自動的にそれを受け入れないように設定されている場合、ユーザーは「あなたは信頼しますか?あなたの決定を覚えておく必要がありますか?なぜそれを避けたいのですか?あなたの2番目のコメント:ユーザーとプロバイダの間のプロキシとして機能するスクリプトを書くことができます。しかし、再び、なぜですか?プロキシとプロバイダの間の接続はSSLによって保護されますが、同じ方法でクライアントへの接続を保護しないとセキュリティが低下します。そうした場合、問題は同じ証明書だけで変わりません。 – rik

0

プロバイダが非常に奇妙な設定をしていない限り、私はあなたができるとは思わない。サーバーに接続する2つのクライアントがあります。最初にクライアント証明書を使用しているPHPコードは、クライアント証明書なしで同じセッションにブラウザをどこかにバインドできると期待していますか?これが意味をなさす唯一の方法は、支払いプロバイダが代理認証トークンを送り返すかどうかであり、そうした場合は、詳細なドキュメントを提供することです。明らかにそうではありません。

サーバー上でデータをプロキシすることはできますが、支払いプロセス全体を処理する別の支払いプロバイダに切り替えることを強くお勧めします。

+0

返信ありがとうございます!私は特にこの支払いサーバーのデモショップを作るので、切り替えはオプションではありません。 – banesto

関連する問題