Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
![]() |
||
![]() |
![]() |
|
Опции темы
![]() |
![]() |
#1 |
Форумец
Сообщений: 15
Регистрация: 06.12.2009
Возраст: 38
![]() |
Запомнить меня
Здравствуйте.
Собственно говоря проблема в следующем : нужно реализовать функцию(галочку) "запомнить меня" У меня нет возможности создать базу типа MySql с логином и паролем и по идентификатору в куках высовывать из базы пароль. (У меня связка JS-PHP-Web сервис(XML строка) ) Я пока додумался до двух вариатнов : 1) Записывать пароли с логинами в куки -> сильно шифруя (ну по алгоритму) пароли. 2)Использовать Flashcookie (как - то) Как еще можно реализовать такое хранение и такую задачу??? Заранее спасибо. |
![]() |
![]() |
![]() |
#4 |
xxCENSOREDxx
Сообщений: 983
Регистрация: 09.04.2006
Возраст: 45
![]() |
А логины/пароли на стороне сервиса где хранятся?
Логин/пароль однозначно нельзя хранить в куках. При авторизации сервис выдает токен, его и хранить. При повторном обращении передаём токен. Токен сделать живущим в течение сессии (до закрытия браузера). |
![]() |
![]() |
![]() |
#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. |
![]() |
![]() |
![]() |
#6 |
Форумец
Сообщений: 1,076
Регистрация: 27.11.2008
Возраст: 31
![]() |
Нуда...варианты есть..не один точно. а вот про то, что в куках незя хранить - эт верно..сам посуди, а мало ли что, и откуда взять эти логины пасы потом)
|
![]() |
![]() |
![]() |
#7 |
Форумец
Сообщений: 149
Регистрация: 18.02.2006
Возраст: 39
![]() |
Вопрос. А если у вас на сервере не хранится связка логин/пароль, то как вы ее вообще используете? В смысле как пользователь проходит аутентификация? С чем сравнивается его пароль?
Если у вас нет возможности использовать mysql посмотрите в сторону sql lite или чего-то типа такого. Но опять же будьте аккуратны с хранением паролей. Как вариант на стороне клиента можно хранить не зашифрованный пароль, а хэш от объединенных вместе логин+пароль+соль (salt которая). К сожалению вы слишком расплывчато описали, что конкретно вам нужно сделать (насколько длинная сессия, насколько критичны данные, для чего авторизация и т.д.) поэтому чего-то более конкретного посоветовать очень сложно. как вариант еще можно попробовать поработать с http://samy.pl/evercookie/ Но лучше подробно опишите, что вам нужно сделать, тогда будет намного проще посоветовать вам что-то конкретное. |
![]() |
![]() |
![]() |
#8 |
Наночлен
Сообщений: 30,594
Регистрация: 06.09.2006
Возраст: 37
![]() |
a_drew, да там в куки можно чо угодно запихать, захешировав, как бог на душу положит. Хоть md5(md5($pass)). Уже хрен кто раскусит.
В общем, тоже не пойму проблему. |
![]() |
![]() |
![]() |
#9 |
Форумец
Сообщений: 15
Регистрация: 06.12.2009
Возраст: 38
![]() |
soapclient отправляет логин и пароль с "формы" web - сервису там они сравниваются и ответ от сервиса серверу уходит обратно.
|
![]() |
![]() |
![]() |
#10 |
Форумец
Сообщений: 149
Регистрация: 18.02.2006
Возраст: 39
![]() |
Вообще, если сервис поддерживает аутентификацию, то он должен возвращать токен для пользователя, который потом и надо передавать сервису. Ну собственно это и будет тот самый SESSION_ID.
Если сервис ничего не возвращает, то это какой-то весьма странный сервис. На мой взгляд, в этом случае хранение пароля на стороне клиента или сервера зависит от того, на кого вы хотите взвалить ответственность за кражу пароля. Если этот сервис — доступ к данным банковской карты, то лучше написать им на саппорт. ![]() |
![]() |
![]() |
![]() |
#11 | |
Форумец
Сообщений: 41,734
Регистрация: 27.05.2003
Возраст: 47
![]() |
Цитата:
Кабы те знания у Вас были - не спрашивали бы. ![]() |
|
![]() |
![]() |
![]() |
#13 |
Форумец
Сообщений: 779
Регистрация: 21.01.2009
Возраст: 38
![]() |
А файлом обойтись никак?
Я конечно не специалист... Но если сделать так Код:
$login=$_POST['login']; $pass=md5($_POST['pass']); //собираем строку $str=$login.'|'.$pass; file_put_contents("file.txt", $str, FILE_APPEND); |
![]() |
![]() |
![]() |
#15 |
Форумец
Сообщений: 779
Регистрация: 21.01.2009
Возраст: 38
![]() |
Да я не спорю. Я пхп знаю поверхностно, но просто если нет базы данных то как выход хранить в файлах. К тому же там выше была идея хранить в куках... а если у юзера отключены куки?
|
![]() |
![]() |
![]() |
#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. Причина: дописал |
|
![]() |
![]() |
![]() |
#17 | ||
Форумец
Сообщений: 149
Регистрация: 18.02.2006
Возраст: 39
![]() |
Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#20 |
Форумец
Сообщений: 149
Регистрация: 18.02.2006
Возраст: 39
![]() |
silly, прошу прощения, вопрос был к Dark_Dante, который хочет самостоятельно реализовать сохранение данных а файл.
И видимо тему невнимательно прочитал я. Не заметил про то, что сервис свой. Если он свой, то он работает неправильно, т.к. должен возвращать токен сессии, о котором я писал выше. И тогда автоматически отпадают все проблемы с хранением пароля. |
![]() |
![]() |