1

私が書いている特定のWebサービスの1つは、APIとのインターフェースです。各API呼び出しでは、ユーザーのユーザー名とパスワードを送信する必要があり、状態は維持されません。

理想的には、私のWebサービスを使用するとき、ユーザーはAPIユーザー名とパスワードを1回入力し、私のWebサービスはセッションが終了するまでその情報を保存します。セキュリティ上の懸念から、PHPセッションを使用したりデータベースにAPIパスワードを保存したりしないことを理解しています。したがって、セッション中にパスワードを安全に保存してアクセスするにはどうすればよいですか?

編集: パスワードを暗号化し、暗号化されたパスワードをCookieに保存し、暗号化キーをセッションに保存することはどの程度安全ですか?

4

1 に答える 1

2

mcryptなどのPHP拡張機能を使用して、暗号化されたAPIユーザー名とパスワードを現在のセッションに保存します。暗号化キーをその場で生成し、Cookieに保存します(セキュア/ HTTPS、HTTPのみ)。サーバーのデータ侵害が発生した場合でも、攻撃者は個々のユーザーのコンピューターにあるCookieにアクセスする必要があります。

または、セッション全体を暗号化してみてください。PHP Secure Sessionクラスは、session_set_save_handlerセッションを透過的に暗号化/復号化するために組み合わせた同様の手法(Cookieに格納された暗号化キー)を使用します。

于 2013-02-26T08:27:09.407 に答える