0

私は自分のプロジェクト用に別のサーバーを持っており、それらすべてに何かを依頼したいと考えています。PHP: file_get_contentsまたは のいずれかを使用する必要があることがわかりましたcURLが、ここに私の質問があります。サーバーが実行を要求できるサーバーを確認する方法はありますか?

たとえば、次のスクリプトを使用します。

 function is_ajax() {

     // BOOLEAN return if AJAX
     return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest';

 }

リクエストが AJAX ベースかどうかを確認します。

それらを使用する方法があれば、おそらく各サーバーのIPアドレスにアクセスできます。

私が実行したいことの 1 つは、いくつかの情報を確認しSERVER Bた後、 でセッションを開始することです。SERVER Aしたがって、他のサーバーやスクリプトが許可なく実行されるのを防ぐために、SERVER B実際にSERVER A誰が要求しているのかを確認する方法が必要です。

編集:SERVER A SQL データベースで暗号化されたデータを保存するセッション クラスを使用して セッションを作成しています。

また、セッション Cookie パラメータを使用することによって

     session_set_cookie_params(
        $cookieParams['lifetime'],
        $cookieParams['path'],
        $cookieParams['domain'],
        $secure,
        $httponly
     );

サーバーは異なりますが、同じドメイン名を共有していますが、サーバー全体でサブドメインに分かれているためSERVER B、でセッションを確認してからSERVER A同様のセッションを作成する方法があるでしょうか?

4

3 に答える 3

1

セッションが memcached などの集中型データ ストアに保存されている場合、同じドメインからアクセスされると、サーバーは同じセッションを共有します。PHP は memcached にセッションを保存することをサポートしているため、そのように構成 (session.save_handler) するだけで済みます。その後、すべてのセッション コードはそのまま機能しますが、セッションはサーバー間で共有されます。

于 2013-02-25T15:03:05.807 に答える
0

@complex857が提案したように、私は ?SOMEPASSWORDVARIABLE=LONGSPASSWORDWITHRANDOMCHARS で解決します。

file_get_contents はサーバー側で実行されるため、サーバーからのトラフィックを監視することで実際のリクエストを監視できたとしても、ファイル名、変数、パスワードを推測するのは簡単ではありませんが、可能性は非常に低いです。

于 2013-02-25T15:18:23.290 に答える
-1

ファイルを使用し[crossdomain.xml][1]て、要求を行うことができるドメインを指定します。他のドメインからのリクエストは拒否されます。

于 2013-02-25T14:57:48.253 に答える