-1

これが完全にコードに関連しているかどうかはわかりませんが、少なくとも、何らかの形でプログラミング/セキュリティに関連しています。

PHPを使用してデータベースにクエリを実行する、サーバーとの間で情報を送受信するiPhoneモバイルアプリがあります。当然のことながら、データベースにはユーザー名とパスワードが必要です。私の質問は、資格情報を PHP コードまたは iOS アプリ コードに入れる必要があるということです。PHP ページに入れると、それがサーバー上にあり、誰も PHP コードを表示してパスワードを取得することはできませんが、PHP ページがそれを操作できることを知っているため、データベースが台無しになります。アプリ コードに入れる場合 (パラメータを介して PHP にパスワードを渡す)、パスワードがパラメータを介して渡されない限り PHP ページが機能しないことは良いことですが、いくつかの欠点があると思います: URL のパスワードは安全ではなく、脱獄デバイスの iOS アプリのパスワードも安全ではありません。

私が少し知っているが、あまりノウハウがないのは、iOS アプリコードでパスワードをハッシュし、それを PHP に渡すことです。

4

3 に答える 3

1

これを行うには多くの方法があります。最近、自分で同様のアプリを作成しました。まず、資格情報はサーバー上に存在する必要があります。あなたがすべきことは、ある種のハッシュを使用することです。iOS アプリは、いくつかのことに基づいてハッシュを生成します。悪い例は次のようになります。

md5('supersecretkey' . 'asd123')

最初のキーは PHP コードと iOS コードにあり、2 番目のキーはランダムに生成されます。したがって、アプリは次のようにスクリプトを呼び出します。

script.php?hash=1a79a4d60de6718e8e5b326e338ae533&key=asd123

スクリプトは、鍵と秘密鍵を使用して上記の機能を実行します。これで、それを生成したのは iOS アプリである必要があることがわかります。

これは、考え方の 1 つの非常に単純な例です。実際には、誰かが iOS アプリを逆コンパイルして文字列を取得することもできます。それは、あなたが書いているものが何であれ、人々がどれだけリバース エンジニアリングを試みるかによって異なります。

于 2013-11-10T22:09:16.207 に答える