Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
Запомнить меня |
|
Опции темы |
08.12.2011, 09:45 | #1 |
Форумец
Сообщений: 15
Регистрация: 06.12.2009
Возраст: 37
Не в сети |
Запомнить меня
Здравствуйте.
Собственно говоря проблема в следующем : нужно реализовать функцию(галочку) "запомнить меня" У меня нет возможности создать базу типа MySql с логином и паролем и по идентификатору в куках высовывать из базы пароль. (У меня связка JS-PHP-Web сервис(XML строка) ) Я пока додумался до двух вариатнов : 1) Записывать пароли с логинами в куки -> сильно шифруя (ну по алгоритму) пароли. 2)Использовать Flashcookie (как - то) Как еще можно реализовать такое хранение и такую задачу??? Заранее спасибо. |
08.12.2011, 12:05 | #4 |
xxCENSOREDxx
Сообщений: 983
Регистрация: 09.04.2006
Возраст: 45
Не в сети |
А логины/пароли на стороне сервиса где хранятся?
Логин/пароль однозначно нельзя хранить в куках. При авторизации сервис выдает токен, его и хранить. При повторном обращении передаём токен. Токен сделать живущим в течение сессии (до закрытия браузера). |
08.12.2011, 16:44 | #5 |
blocked
|
Сергей29, в куках храни идентификатор юзера (но не логин, самое простое это уник цифра, которую не знает даже сам юзер но по которой идентифицируется акканут юзера) а проверка идентификатора идет в сессии в ходе работы сайта по нему и ориентируется для кого что загружать на сайте.
логин и пароь - это для юзера, а ты оперируй этим идетификатором - сессия получает его раз когда юзер вошел на сайт (или через куки или через "кнопку вход") а потом с ним и работает пока стоит сессия. и всё нормально будет в плане защиты (но дальше уж можно и самому додумать если нужна сильная защита в этом плане) id - log - pas 0 - admin - 123 1 - вася - 1234 2 - dimon - qwerty ------------------------ более сложный случай: w1ew232323- василий петрович - herugadaish 1sdfsdfsd 4 - геннадич петя - moipassal Последний раз редактировалось anadonam; 08.12.2011 в 17:06. |
08.12.2011, 17:04 | #6 |
Форумец
Сообщений: 1,076
Регистрация: 27.11.2008
Возраст: 30
Не в сети |
Нуда...варианты есть..не один точно. а вот про то, что в куках незя хранить - эт верно..сам посуди, а мало ли что, и откуда взять эти логины пасы потом)
|
09.12.2011, 11:23 | #7 |
Форумец
Сообщений: 149
Регистрация: 18.02.2006
Возраст: 39
Не в сети |
Вопрос. А если у вас на сервере не хранится связка логин/пароль, то как вы ее вообще используете? В смысле как пользователь проходит аутентификация? С чем сравнивается его пароль?
Если у вас нет возможности использовать mysql посмотрите в сторону sql lite или чего-то типа такого. Но опять же будьте аккуратны с хранением паролей. Как вариант на стороне клиента можно хранить не зашифрованный пароль, а хэш от объединенных вместе логин+пароль+соль (salt которая). К сожалению вы слишком расплывчато описали, что конкретно вам нужно сделать (насколько длинная сессия, насколько критичны данные, для чего авторизация и т.д.) поэтому чего-то более конкретного посоветовать очень сложно. как вариант еще можно попробовать поработать с http://samy.pl/evercookie/ Но лучше подробно опишите, что вам нужно сделать, тогда будет намного проще посоветовать вам что-то конкретное. |
09.12.2011, 12:07 | #8 |
Наночлен
Сообщений: 30,595
Регистрация: 06.09.2006
Возраст: 36
Не в сети |
a_drew, да там в куки можно чо угодно запихать, захешировав, как бог на душу положит. Хоть md5(md5($pass)). Уже хрен кто раскусит.
В общем, тоже не пойму проблему. |
09.01.2012, 23:15 | #9 |
Форумец
Сообщений: 15
Регистрация: 06.12.2009
Возраст: 37
Не в сети |
soapclient отправляет логин и пароль с "формы" web - сервису там они сравниваются и ответ от сервиса серверу уходит обратно.
|
10.01.2012, 00:49 | #10 |
Форумец
Сообщений: 149
Регистрация: 18.02.2006
Возраст: 39
Не в сети |
Вообще, если сервис поддерживает аутентификацию, то он должен возвращать токен для пользователя, который потом и надо передавать сервису. Ну собственно это и будет тот самый SESSION_ID.
Если сервис ничего не возвращает, то это какой-то весьма странный сервис. На мой взгляд, в этом случае хранение пароля на стороне клиента или сервера зависит от того, на кого вы хотите взвалить ответственность за кражу пароля. Если этот сервис — доступ к данным банковской карты, то лучше написать им на саппорт. Если нет, то просто добавляете к логину и паролю какую-то достаточно длинную соль и шифруете, скажем, 1000 раз с каким-нибудь длинным паролем и сохраняете в куки. Про выбор алгоритма, соли и количества итераций в интернете куча статей. Взять тот же пароль от wifi для примера. |
10.01.2012, 01:16 | #11 | |
Форумец
Сообщений: 41,382
Регистрация: 27.05.2003
Возраст: 46
Не в сети |
Цитата:
Кабы те знания у Вас были - не спрашивали бы. |
|
14.01.2012, 17:52 | #13 |
Форумец
Сообщений: 779
Регистрация: 21.01.2009
Возраст: 38
Не в сети |
А файлом обойтись никак?
Я конечно не специалист... Но если сделать так Код:
$login=$_POST['login']; $pass=md5($_POST['pass']); //собираем строку $str=$login.'|'.$pass; file_put_contents("file.txt", $str, FILE_APPEND); |
14.01.2012, 18:12 | #15 |
Форумец
Сообщений: 779
Регистрация: 21.01.2009
Возраст: 38
Не в сети |
Да я не спорю. Я пхп знаю поверхностно, но просто если нет базы данных то как выход хранить в файлах. К тому же там выше была идея хранить в куках... а если у юзера отключены куки?
|
14.01.2012, 18:17 | #16 | |
highly mean
Сообщений: 1,128
Регистрация: 26.05.2011
Возраст: 35
Не в сети |
Не стоит решать задачу, которую никто не ставил: про отсутствие бд никто на самом деле не заявлял, это все предположения.
Код:
$login=$_POST['login']; $pass=md5($_POST['pass']); //собираем строку $str=$login.'|'.$pass; file_put_contents("file.txt", $str, FILE_APPEND); Цитата:
2. Без кук сессии не работают. Нет возможности отличать пользователей друг от друга. Раньше еще практиковалось указание идентификаторов сессий в ссылках, но это время прошло. Последний раз редактировалось silly; 14.01.2012 в 18:29. Причина: дописал |
|
14.01.2012, 19:04 | #17 | ||
Форумец
Сообщений: 149
Регистрация: 18.02.2006
Возраст: 39
Не в сети |
Цитата:
Цитата:
|
||
14.01.2012, 19:54 | #20 |
Форумец
Сообщений: 149
Регистрация: 18.02.2006
Возраст: 39
Не в сети |
silly, прошу прощения, вопрос был к Dark_Dante, который хочет самостоятельно реализовать сохранение данных а файл.
И видимо тему невнимательно прочитал я. Не заметил про то, что сервис свой. Если он свой, то он работает неправильно, т.к. должен возвращать токен сессии, о котором я писал выше. И тогда автоматически отпадают все проблемы с хранением пароля. |