Для телефонных приложений, настольных приложений и некоторых веб-приложений это распространенная проблема.
Сандро Мейер (выше) правильно сказал, что если у вас есть доступ SSL, то это лучший способ отправить через HTTP POST имя пользователя и пароль, чтобы никто другой в сети не мог прослушать эти данные.
Если вы не можете использовать HTTPS, то я бы порекомендовал из вашего приложения для iPhone.
1. опубликовать имя пользователя + пароль для PHP с iPhone.
2. На сервере в коде PHP, проверьте эти детали, если правильно сгенерируйте какой-нибудь случайный токен, например (KHnkjhasldjfoi & *), вы можете сделать это, используя хэш-функцию MD5 в PHP.
3. Сохраните этот хэш в БД, чтобы вы знали, какому пользователю вы отправили его обратно.
4. Теперь для всех других запросов из приложения в PHP включите этот токен в запрос (в PHP вам нужно будет проверить этот токен и, если он действителен, затем извлечь или обновить данные).
5. Таким образом, если кто-то пытается прослушать соединение, к которому у него нет доступа к паролю пользователя, он может только украсть токен.
Если вы хотите быть на 99% безопасным, вам нужно использовать соединение HTTPS (но HTTPS может быть подделан, я писал об этом в Computer World).
Упоминавшийся ранее человек упомянул использование хеша MD5 для отправки пароля имени пользователя, но его также можно взломать (пользователь может загрузить ваше приложение, найти соль для хеша MD5 и таким образом они могут украсть любой пароль). Я думаю, что W3C сказал, что они не рекомендуют шифровать веб-формы и страницы паролей, поскольку это дает ложное чувство безопасности, потому что почти все может быть расшифровано (я думаю, что компьютер Quantum может даже расшифровать HTTP), они рекомендуют использовать HTTP, поскольку он обеспечивает максимальная безопасность при отправке конфиденциальных данных.
W3C Пароли в открытом виде.
http://www.w3.org/2001/tag/doc/passwordsInTheClear-52