2011-07-01 23 views
1

REST APIへの接続が安全かどうかを確認する方法API - 接続は安全ですか?

1)私は、APIを構築し、応答が生成され、クライアントに返される前に、接続がSSLを実行していることを確認するには...ユーザー名とパスワードが

2すべてのリクエストで渡される)としていますどのようにSSLとのfsockopen接続を行うことができますか?

$this->url = 'api.domain.com'; 
$this->path = '/v1/json/account/user/pass/?id=123'; 

if($this->fp = fsockopen($this->url, $this->port, $errno, $errstr, $this->timeout)){ 
    $write = "$this->method $this->path HTTP/1.1\r\n"; 
    $write .= "Host: $this->url\r\n"; 
    $write .= "Content-Type: $this->content_type\r\n"; 
    $write .= "Connection: Close\r\n\r\n"; 

    fwrite($this->fp, $write); 

    while($line = fgets($this->fp)){ 
     if($line !== false) $this->response .= $line; 
    } 

    fclose($this->fp); 
} 
+0

どのようなAPIですか?どのようにあなたはそれに接続していますか?質問に詳細を追加してください。 – Piskvor

+0

fsockopenとのSSL接続の仕方は? – clarkk

答えて

2

$_SERVER['HTTPS']をチェックしてください。

http://php.net/manual/en/reserved.variables.server.phpでPHPマニュアルは言う:

'HTTPS' スクリプトがHTTPSプロトコルを通じて実行されている場合、空でない値に設定

注:IISでISAPIを使用する場合、HTTPSプロトコルによる要求が行われなかった場合、値はオフになります。

0

もちろん可能です。あなたはそれを強制することさえできます。 HTTPはポート80で動作し、HTTPSは443で動作します.443からのトラフィックはすべて破棄できます。

関連する問題