2010-12-28 8 views
0

私はPHPでクライアント/サーバアプリケーションを作っています。クライアントをカールで確認する方法はありますか?

サーバは配列を取り、結果をシリアライズしエコーします。

サーバーは、クライアントがwww.site2.com/client.php

$ch = curl_init('http://www.site1.com/server.php'); 

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 

echo curl_exec($ch); 

でホストすることができwww.site1.com/server.php

echo serialize($array); 

でホストすることができるものIクライアントがwww.site2.com/client.phpから来た場合にのみ、server.phpに情報をエコーするようにしています。

何か

iff('Client is from www.site2.com/client.php'){ 
    echo curl_exec($ch) 
} else { 
    exit(); 
} 

のようなサイト2がSSLを持っていない

は、どのような変数iは、ルックアップか、またはこれを行う方法はありますか?

答えて

1

client.php

$ch = curl_init('http://www.site1.com/server.php?supersecretpassword'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
echo curl_exec($ch); 

server.phpという

if($_SERVER['QUERY_STRING'] === "supersecretpassword"){ 
    echo curl_exec($ch) 
} else { 
    exit(); 
} 

あなたのclient.phpが動作しているコンピュータ。

+1

SSLを使用しないman-in-the-middle攻撃に脆弱ではありませんか? – DanMan

+0

@DanMan - はい、そうです。クライアントとサーバーが共有の秘密を持つことができるので、トリプルDESまたはブリーフィングなどで応答を暗号化することができないようにする。 –

1

クライアントに固定IPがある場合は、クライアントのDNSを元に戻し、IPが正しいかどうかを確認できます。しかし、どれくらい信頼できるかは考えられません。私は黒の芸術ではない - その道は暗い側面につながる。 $ _SERVER [ 'REMOTE_ADDR']はのIPアドレスと同じである場合は、server.phpという中で確認することができ、追加のセキュリティ対策として

-1

説明したとおりに正確に通信を保護する方法はありません。あなたの質問に対する真の安心の答えは、ファイアウォールを設定することです。

関連する問題