0

私はここに座って、小さなプロジェクトに取り組んでいます。この場合は、PHP と Obj-c の間です。

これらの間の安全な認証のベストプラクティスは何ですか?

何かのようなもの

myhost?do=login&user=my_username&password=my_password

ユーザー名とパスワードが公開されているため、少し不安に感じます。

私はこれのためにSSLを行うことができると思いますが(?)、良い解決策の良い例はありますか?

私の考えでは、ログインは auth_key をユーザー テーブル (MySQL) に設定し、上記の GET 変数が正しければ、ユーザー ID とこの認証キーを返します。次に、PHPに対して行うすべてのことで、この認証キーが更新されてユーザー(obj-cプログラム)に返され、サーバーで行われるすべての操作がこのキーに対して認証されます。これは、パスワードを毎回「表示」しないためです。時間とキーを使用すると、更新されるので役に立たない...

ただし、これは、ログイン時にキーが受信および更新されるため、これを手動で行うことを止めることはできません。

これをより安全にするためのアイデアはありますか、それとも私はただの妄想ですか?

4

2 に答える 2

0

SSL とともにユーザー名とパスワードのフォームに POST を使用する

于 2012-11-14T21:44:53.477 に答える
0

GET と POST の違いは実際には問題ではありません。どちらも HTTP リクエストであり、データを暗号化しない限り、リクエストのプレーンな本文が傍受される可能性があります。もちろん、ログインは POST 要求として行う必要がありますが、べき等ではなく、[db の書き込み、セッションの開始など] の副作用がある可能性があるためです。

データが安全であることを確認するために、HTTPS プロトコルを介して SSL に切り替えることをお勧めします。

[本当に] 最小限の保護として、ログイン資格情報を送信する前に Base64 でエンコードするBasic HTTP Authを使用できます。これはRestKitで簡単に実行できます。

于 2012-11-14T21:56:34.073 に答える