2010-12-20 13 views
1

私はAPIを作成しており、他のユーザーがアクセスできるようにしたいと考えています。私の実装は、クエリ文字列からAPIキーとAPI "パスワード"を取得し、ユーザーがこのサイトの正当なユーザーであるかどうかを識別するために使用します。クエリ文字列のAPIキーが安全になっていますか?

domain.com/api/?api_key=theapikey & api_password = thepasswordhere

私は、セキュリティに精通していないですが、これはそれを行うための安全な方法ですか?あるいはこれを行うためのより安全な方法がありますか?

答えて

0

A)あなたはPOSTを使う代わりに、GETは、あなたが現在記述されている方法(データはアドレスフィールドにあるときには、WebアプリケーションのフォームIEからPOSTメソッドを選択することにより、POSTの値を取得しているのに対し、GETする必要があります。

<FORM action="http://domain.com/api" method="post"> 

b)これはいくらか安全ですが、httpsトンネルを使用することでより多くのセキュリティが認識されます。認証されたセキュリティキーをWebサーバーにインストールし、httpの代わりにhttpsを使用してセキュリティを強化します。 Apacheの

例: http://www.digicert.com/ssl-certificate-installation-apache.htm

希望私たちは、APIはURLからアクセスできるようにしたいので、私たちはPOSTを使用していない、うまく:)

+0

を手伝いました。だから私たちは強制的にgetを使うのです。 – arvinsim

+0

例えば、MD5のような何らかの暗号化を使って鍵やパスワードを暗号化し、暗号化されたパスワードのリストと照合することをお勧めしますか?それ以外に、私の心には他のアイデアはありません。 –

0

安全ではありません。より安全な方法があります。はい、OAuthを参照してください。おそらくあなたの言語でいくつかのヘルパーライブラリを見つけることができます。

関連する問題