http://getpocket.com/api/docs/を読む
HTTP文字列を介してパスワードを渡すのは安全ですか?HTTPSであっても、これは安全ではないことを理解しています。正しい?
http://getpocket.com/api/docs/を読む
HTTP文字列を介してパスワードを渡すのは安全ですか?HTTPSであっても、これは安全ではないことを理解しています。正しい?
APIドキュメントには、HTTPSを介して渡すと記載されています。実際には、HTTPヘッダーのGETまたはPOSTのいずれの情報もSSLトランスポートの一部であるため、URLパラメーターも暗号化されるため、GETパラメーターは暗号化されます。保証できないのは、クライアントが保持するものです。または、サーバーがホスト名のDNSルックアップを実行したときなど、いくつかの情報を公開する他のプロセスがあった場合。別の例として、ブラウザがあり、https URLを含め、ブラウザに入力したすべての履歴が保持されている場合、セキュリティが危険にさらされる可能性があります。
以下はHTTPヘッダーです。クライアントはTCP接続を開始し、次のようなものを送信します。
GET /tutorials/other/top-20-mysql-best-practices/ HTTP/1.1
Host: net.tutsplus.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: PHPSESSID=r2t5uvjq435r4q7ib3vtdjq120
Pragma: no-cache
Cache-Control: no-cache
SSLは、そのすべての情報が、返送されるすべてのものとともに暗号化されることを指示します。このAPIを使用しても安全だと思いますが、GETメソッドとPOSTメソッドの唯一の違いは、POSTではパラメーターが本文にあるのに対し、GETではパラメーターがヘッダーにあることです。どちらの場合も、すべての機密情報は暗号化されています。
私はそれが安全ではないように聞こえることに原則的に同意します。URLは、ログのように、プレーンテキスト(HTTPS経由でも)のあらゆる種類の面白い場所に配置される可能性があります。どこにも平文で書かないようにするのが最善でしょう。
おそらく、代替戦略があるかどうかについてAPIの作成者に相談する必要があります。たとえば、これらのメソッドの一部はPOSTとGETの両方をサポートしているように見えます。その場合、パスワードの詳細をPOSTできる可能性があります。これは、HTTPS接続を介して行うのが比較的安全な方法です。