С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
16 / 14 / 16
Регистрация: 07.02.2017
Сообщений: 292

Отправка ссылки для изменения пароля от личного кабинета

07.06.2017, 22:39. Показов 2173. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята кто посоветует как лучше, безопасней, лаконичней всего можно сделать это
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.06.2017, 22:39
Ответы с готовыми решениями:

[Виджет] Где редактировать ссылки с личного кабинета?
Есть виджет с таким кодом: <div class="user_widget_body"> <div class="user_widget_body_ins"> ...

БД для личного кабинета
Всем привет! Подскажите, может кто уже так делал. На сайте будет 2 группы пользователей. У каждой из них будет личный кабинет. Вопрос: Как...

Комментарии от личного кабинета для сайта
Делаю сайт. В нём сделал авторизацию/регистрацию пользователя. Как сделать так что бы от имени зарегистрированного (конкретно на моем...

23
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
08.06.2017, 00:10
Пароль обычно меняют, когда все пароли украдены, в том числе от почты.
Отправлять ссылку для изменения пароля на почту не безопасно.
Безопасно - указать смс номер, куда напишет клиент, а в ответ получит забытый пароль.

Добавлено через 3 минуты
Если пароль случайно удалён, а не украден, можно отправлять пароль на почту в случае отсутствия привычной активности на сайте, по прошествии 2 недель + максимальная пауза между посещениями данного пользователя
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
08.06.2017, 00:14
Цитата Сообщение от plohoyav Посмотреть сообщение
Пароль обычно меняют, когда все пароли украдены, в том числе от почты.
Странное утверждение. Неоднократно восстанавливал забытые пароли потому что забыл, а не украли
Цитата Сообщение от plohoyav Посмотреть сообщение
Безопасно - указать смс номер, куда напишет клиент, а в ответ получит забытый пароль.
Чтобы отправить пароль надо его хранить в открытом виде, что уже не безопасно
0
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
08.06.2017, 00:22
Лучше дать пользователю при регистрации право самостоятельно решать, какие варианты восстановления пароля он считает приемлемыми

Добавлено через 7 минут
Хранение пароля в открытом виде безопасно, хотя бы потому, что в случае потери ключа расшифровки списка зашифрованных паролей
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
08.06.2017, 00:23
Цитата Сообщение от plohoyav Посмотреть сообщение
Хранение пароля в открытом виде безопасно, хотя бы потому, что в случае потери ключа расшифровки списка зашифрованных паролей
я заинтригован
0
16 / 14 / 16
Регистрация: 07.02.2017
Сообщений: 292
08.06.2017, 00:56  [ТС]
я сделал вот так: после нажатия на ссылку "забыли пароль" прошу ввести почту, потом ищу эту почту в базе, если она есть, делаю куку на 20 мин, генерирую рандомное число, его хеширую и присоединяю к $_SERVER['HTTP_HOST'], потом отправляю на почту уникальную ссылку! Когда выполняется переход по ссылке, сравниваю уникальные ссылки на идентичность и проверяю куку(которую поставил на 20 мин), если проверка успешна, то отправляю на страницу создания нового пароля. Я правильно все сделал ? или может есть способы получше ?
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
08.06.2017, 01:21
Цитата Сообщение от mrWan Посмотреть сообщение
и проверяю куку(которую поставил на 20 мин), если проверка успешна, то отправляю на страницу создания нового пароля
Т.е. если злоумышленник запустил процесс восстановления пароля, то только он и сможет его восстановить, а реальный пользователь уже нет?
0
16 / 14 / 16
Регистрация: 07.02.2017
Сообщений: 292
08.06.2017, 08:37  [ТС]
Цитата Сообщение от Jodah Посмотреть сообщение
Т.е. если злоумышленник запустил процесс восстановления пароля, то только он и сможет его восстановить, а реальный пользователь уже нет?
не понял!у злоумышленника нет доступа к почте пользователя.

Добавлено через 3 минуты
можно несколько раз отправить на почту уникальных ссылок и куки будут перезаписаны и действительная ссылка для восстановления пароля будет последняя и действовать она будет столько на сколько поставить существование куки(я поставил на 20 мин)

Добавлено через 5 минут
PHP
1
2
3
4
5
6
7
8
9
$emailLink = md5(uniqid(rand(),1));
$_SERVER['HTTP_HOST'] . "/admin?update=$emailLink"
// -----------------------------------------------------------------
if ($_GET['update'] == $emailLink) {
    if (isset($_COOKIE['update'])) {
        require_once 'update.php';
        exit;
    }
}
Добавлено через 7 часов 3 минуты
это нормальный вариант ?
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
08.06.2017, 09:35
mrWan, может, не изобретать то, что уже давно было изобретено?

Где значение $emailLink будет храниться? Если в куке, то достаточно «угадать» e-mail, а далее посмотреть в куку и сформировать на основе увиденного ссылку. Это нормальный вариант?

Добавлено через 4 минуты

Не по теме:

Цитата Сообщение от Jewbacabra Посмотреть сообщение
я заинтригован
Ну человек заснул за компом, а во сне получилось только кликнуть «Отправить» :)

0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
08.06.2017, 09:45
Цитата Сообщение от mrWan Посмотреть сообщение
это нормальный вариант ?
Куки здесь не нужны.
0
16 / 14 / 16
Регистрация: 07.02.2017
Сообщений: 292
08.06.2017, 10:47  [ТС]
Цитата Сообщение от miketomlin Посмотреть сообщение
Где значение $emailLink будет храниться?
email в базе, в куках у меня нету не какой информации про ссылку

Добавлено через 2 минуты
ссылка отправляется на почту, а куки нужны чтобы ссылка была доступна только для того компьютера который делал запрос на создание нового пароля
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
08.06.2017, 11:10
На вопрос ответьте. С чем будете сравнивать входящий адрес, чтобы понять, что ссылка корректна?
0
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
08.06.2017, 11:45
Лучше двигаться в сторону openid, один аккаунт - сотни сайтов, экономия времени на регистрацию, на вход

Добавлено через 1 минуту
В идеале openid в виде аддона firefox, который хранит логин, пароль, сам авторизуется на всех сайтах
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
08.06.2017, 11:53
Ну двигайтесь, кто ж вам мешает. Мы, например, двигаемся не к, а от. Даже разделяемый акк собственного формата убрали.
0
16 / 14 / 16
Регистрация: 07.02.2017
Сообщений: 292
08.06.2017, 11:54  [ТС]
Цитата Сообщение от miketomlin Посмотреть сообщение
На вопрос ответьте. С чем будете сравнивать входящий адрес, чтобы понять, что ссылка корректна?
эту уникальную ссылку отправляю на почту и сохраняю в бд. При переходе сравниваю ссылку с той которая у меня,если они идентичны, то проверяю уникальные куки и если все нормально, даю доступ к странице для создания нового пароля. При повторной генерации уникальной ссылки, происходит перезаписывание старой ссылки!
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
08.06.2017, 12:05
Цитата Сообщение от mrWan Посмотреть сообщение
и сохраняю в бд
Вот это др. дело. Теперь скажите, кука зачем? Используйте время сервера и храните время на сервере. Можно забить на время и совместить ключ восстановления пароля с ключом авторизации: когда ключ авторизации изменится, ссылка автоматически перестанет работать.

Добавлено через 3 минуты
...если конечно ключ авторизации сам не изменяется по времени. Если изменяется, то тем более убьете двух зайцев одним выстрелом.
0
16 / 14 / 16
Регистрация: 07.02.2017
Сообщений: 292
08.06.2017, 12:39  [ТС]
по моему с куки будет безопасней
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
08.06.2017, 13:29
mrWan, это самообман.
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
08.06.2017, 13:45
Цитата Сообщение от mrWan Посмотреть сообщение
по моему с куки будет безопасней
С кукой будет неудобнее, а на безопасность это особо не влияет.
0
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
08.06.2017, 14:08
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Странное утверждение. Неоднократно восстанавливал забытые пароли потому что забыл, а не украли
Память вредно для здоровья

Цитата Сообщение от Jewbacabra Посмотреть сообщение
Чтобы отправить пароль надо его хранить в открытом виде, что уже не безопасно
Так считалось ранее, до появления флеймворков и орм, автоматически экранирующих данные в mysql запросах

Добавлено через 3 минуты
Цитата Сообщение от Jodah Посмотреть сообщение
Т.е. если злоумышленник запустил процесс восстановления пароля, то только он и сможет его восстановить, а реальный пользователь уже нет?
Частая проблема на сайтах, которые изменяют пароль при восстановлении.

Добавлено через 4 минуты
Цитата Сообщение от mrWan Посмотреть сообщение
у злоумышленника нет доступа к почте пользователя
В сети хватает хакеров предлагающих услугу взлома электронной почты.

Цитата Сообщение от miketomlin Посмотреть сообщение
Ну двигайтесь, кто ж вам мешает. Мы, например, двигаемся не к, а от. Даже разделяемый акк собственного формата убрали.
Если вы не довольны, значит двигаться не надо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.06.2017, 14:08
Помогаю со студенческими работами здесь

Ищу плагин личного кабинета для SEO проекта
Разрабатываю сайт-инструмент для SEO задач. Нужно реализовать подобный личный кабинет для пользователей, примерно как на прикрепленном...

Использование JavaScript и локального хранилища для незначительных изменений страницы (на примере личного кабинета)
Видео: https://youtu.be/gBT4uxtSkFY?t=540 Начало темы с 9:00. А где-то с 9:08 лектор говорит: проблема в том, что одна из самых...

Компонент личного кабинета
Здравствуйте подскажите компонент для создания личного кабинета в котором можно будет просматривать индивидуальную информацию.

Создание личного кабинета
Задача следующая, надо создать личный кабинет для пользователя, что бы когда он редактировал запись, мы могли записать по id кто-это именно...

Создание личного кабинета
Нужно написать скрипт платно. редактирования профиля, рефералы, кол-во денег на счету, подключить систему оплаты, у рефераллов 7 уровней


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru