Настройка входа приложения iPhone в бэкэнд веб-приложения PHP - PullRequest
1 голос
/ 06 августа 2010

Я не разработчик для iPhone, но я начинаю проект, который основан на внутреннем PHP-сервере, предоставляющем данные для пользовательских агентов iPhone, и мне интересно, с чего начать с сеансов / безопасности.

В браузерах я могу просто передать куки (содержащий идентификатор сессии) при входе в систему.

Однако мне интересно, отличается ли iPhone. Есть ли у приложений iPhone доступ к хранилищу для чего-то вроде cookie / токена? Есть ли что-то, что я должен остерегаться, что делает агентов пользователя приложения iPhone особенными?

Ответы [ 3 ]

5 голосов
/ 07 августа 2010

Мое приложение - это та же пара платформ. Я не связываюсь с сессиями PHP или файлами cookie. Я вхожу с простыми старыми полями имени пользователя и пароля POST через SSH и возвращаю токен сеанса (хеш, основанный на их имени пользователя). В приложении я прячу это в NSUserDefaults. Затем мне потребуется этот токен при каждом вызове функции в PHP, которая требует идентификации пользователя или авторизации. И снова, я просто передаю его как простое старое поле формы.

Кстати, я большой сторонник библиотеки ASIHTTPRequest для функций веб-клиента. Я не связан с автором, я просто новый разработчик для iPhone, чья жизнь в этой библиотеке стала намного проще.

2 голосов
/ 06 августа 2010

Вещи, использующие NSURLRequest, по умолчанию используют NSHTTPCookieStorage.Конечно, куки не делятся между приложениями.

Вы можете дополнительно хранить вещи с помощью NSUserDefaults или с помощью цепочки для ключей (SecKeychain * functions);API цепочки для ключей немного громоздки, но есть примеры.Я бы предпочел использовать брелок для чего-нибудь особенно чувствительного;большинство файлов хранятся в незашифрованном виде, и большинство людей не включают зашифрованные резервные копии (я не уверен, что использование цепочки для ключей без пароля также безопасно, но эй ...)

Возможно, вы также захотите беспокоитьсякак долго хранится токен (неудобно набирать на iPhone, а браузеры не сохраняют пароли по умолчанию) и насколько легко его можно отозвать.

0 голосов
/ 06 августа 2010

Браузер Safari на iPhone очень похож на Safari на настольном компьютере Mac или ПК. Поддерживаются куки, сессии, javascript. Так что нет, в отношении логина вам не нужно делать ничего особенного.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...