#android #cookies
#Android #файлы cookie
Вопрос:
Я хочу создать приложение для входа в систему на Android.
Требование проекта — хранить имя пользователя и пароль в течение двух дней с использованием cookie.
Возможно ли использовать cookie-файлы? Если да, то как? Можете ли вы дать мне код?
Примечание: я не могу использовать веб-просмотр.
Комментарии:
1. Вы никогда не должны хранить пароли в файлах cookie.
2. в вашем вопросе проблема в cookie на сервере, а не в Android.
Ответ №1:
Как уже сказал один из комментаторов, вы не должны хранить пароль (даже в зашифрованном виде) в cookie. Что вы можете сохранить, так это идентификатор сеанса. Когда пользователь входит в приложение, приложение генерирует для него идентификатор сеанса, который будет оставаться действительным в течение двух дней. В каждом запросе, который вы отправляете приложению, вы добавляете идентификатор сеанса в качестве HTTP-заголовка.
Вы можете сохранить идентификатор сеанса и дату, когда он был выдан, в настройках. Когда пользователю нужно сделать новый запрос к приложению, а срок сеанса еще не истек, вы можете прочитать сохраненное значение.
Комментарии:
1. Привет, я хочу реализовать это в своем проекте. Но я в замешательстве, как это сделать? не пришлете ли вы мне какой-нибудь код для реализации этой функциональности?
Ответ №2:
Если вы не хотите интегрировать это в браузер, тогда попробуйте это.
Если вы посмотрите на протокол HTTP, вы можете увидеть, что cookie-файлы отправляются клиентом в виде обычного текста в запросе. Это означает, что ваше приложение должно доставлять их каждый раз, когда вы запрашиваете страницу. Это недопустимо для файлов cookie только для локальных файлов, но я не думаю, что они вас интересуют. Если вы хотите установить cookie-файлы на стороне сервера, вам придется адаптировать свое приложение для анализа ответа и поиска cookie-файлов. (также HTTP-протокол)
Для лучшего просмотра необработанных данных, которые вам нужно отправить или получить, вы можете отслеживать свой трафик с помощью Wireshark или аналогичного инструмента и видеть, как выглядит запрос / ответ.
В настоящее время я работаю над веб-сервисом, который мне нужно внедрить на iPhone, и это моя первая идея сделать это. Я еще не успел это реализовать (мой веб-сервис все еще не готов), так что на данный момент я мало что могу вам сказать.
Редактировать: Полезной страницей об этом может быть HTTP-страница cookie Википедии, расположенная здесь.
Комментарии:
1. Я знаю, что этот пост очень старый, но я никогда не слышал о
local-only cookies
раньше, можете ли вы предоставить мне больше информации? Может быть, я ищу что-то подобное
Ответ №3:
Как сказал Рено, старайтесь избегать хранения пароля в cookie. Вместо этого вы должны позволить серверу генерировать идентификатор сеанса при входе в систему и позволить этому идентификатору истечь на сервере через два дня. ТАКИМ образом, вы можете войти в систему с именем пользователя и идентификатором сеанса, которые вы сгенерировали при входе в систему один раз.
Если вы хотите, вы можете сохранить этот идентификатор сеанса в cookie.