Перейти к содержимому


Генерация пароля


Сообщений в теме: 20

#1 Dinara

    Активный участник

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 15 Август 2013 - 11:48

Можно ли такое сделать:
Таблица "Сотрудники", каждую неделю генерировать новый пароль и отправлять посредством смс?

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 15 Август 2013 - 12:06

Поставьте задание в крон, которое работает раз в неделю.

#3 Dinara

    Активный участник

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 15 Август 2013 - 12:12

А автоматически генерировать пароль?как?)

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 15 Август 2013 - 12:20

Да как угодно, используя к примеру генератор случайных чисел. От вашей фантазии зависит. Примеры можно в интернете найти.

#5 Dinara

    Активный участник

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 15 Август 2013 - 12:35

Спасибо за совет!)поищу)

#6 Dinara

    Активный участник

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 15 Август 2013 - 13:16

<?php
// Символы, которые будут использоваться в пароле.
$chars="qazxswedcvfrtgbnhyujmkiolp1234567890QAZXSWEDCVFRTGBNHYUJMKIOLP";
// Количество символов в пароле.
$max=10;
// Определяем количество символов в $chars
$size=StrLen($chars)-1;
// Определяем пустую переменную, в которую и будем записывать символы.
$password=null;
// Создаём пароль.
    while($max--)
    $password.=$chars[rand(0,$size)];
// Выводим созданный пароль.
echo
"<center>
Сгенерированный пароль:
<hr><font face=verdana color=red size=7><b>".$password."</b></font><hr>
<a href=&#63;>Создать новый пароль.</a></center>";
?>

Вот такой код нашла..он пойдет в нашем случае?
Куда бы его добавить только(

#7 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 15 Август 2013 - 13:20

Вместо вывода на экран через echo записываете его в нужную запись в таблице.

#8 Dinara

    Активный участник

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 15 Август 2013 - 14:16

Если не сложно-можно поподробнее? insert?
Добавлять данный код в вычисление?

#9 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 15 Август 2013 - 14:23

insert вставляет новую запись. Вам нужно обновлять существующие, как я понял. Для этого есть update.

#10 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 15 Август 2013 - 14:24

Цитата

Добавлять данный код в вычисление?

В вычисление задания крон.

#11 Dinara

    Активный участник

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 15 Август 2013 - 14:36

$chars="qazxswedcvfrtgbnhyujmkiolp1234567890QAZXSWEDCVFRTGBNHYUJMKIOLP";
$max=10;
$size=StrLen($chars)-1;
$password=null;
    while($max--)
    $password.=$chars[rand(0,$size)];
echo
update_query("Сотрудники","$password");
http://take.ms/1iwNZ сюда...
Или вообще коряво и неправильно?.

#12 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 15 Август 2013 - 14:47

echo то зачем оставили? Это вывод на экран из примера. Функцию update_query тоже неправильно используете. Пользовались ведь ей уже раньше?

$lines = data_table("Сотрудники", "status=0", "all"); // считываем все активные записи из таблицы Сотрудники
foreach ($lines as $line)
{ // проходим по всем записям и обновляем пароль
    $chars="qazxswedcvfrtgbnhyujmkiolp1234567890QAZXSWEDCVFRTGBNHYUJMKIOLP";
    $max=10;
    $size=StrLen($chars)-1;
    $password=null;
	    while($max--)
	    $password.=$chars[rand(0,$size)];
    $data['Пароль'] = $password;
    update_query($data, "Сотрудники", "id=".$line['ID']); // обновляем текущую запись
}

Примерно так как-то.

#13 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 15 Август 2013 - 14:47

Поместили куда надо, но задание там у вас настроено пока что на выполнение раз в минуту.

#14 Dinara

    Активный участник

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 15 Август 2013 - 15:38

Так мне хотя бы для проверки..а оно не выполняется

#15 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 15 Август 2013 - 16:06

Мой код выше не выполняется что ли?

#16 Dinara

    Активный участник

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 15 Август 2013 - 16:19

Хм, похоже что срабатывает только раз в час) Это нормально при том, что выставлено-раз в минуту?)Или это потому что я на демонстрационной версии проверяю?

#17 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 15 Август 2013 - 16:28

На аккаунтах SaaS (если речь о нем) реальная периодичность выполнения крона может отличаться в большую сторону, из-за нагрузки сервера (т.к. там много таких как вы). На бесплатных она наибольшая, т.к. бесплатные аккаунты имеют наименьший приоритет. Может и раз в час запросто, если сервер перегружен.

#18 Dinara

    Активный участник

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 18 Август 2013 - 10:58

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

#19 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 19 Август 2013 - 10:07

Элементарно же:

$chars="qazxswedcvfrtgbnhyujmkiolp1234567890QAZXSWEDCVFRTGBNHYUJMKIOLP";
$max=10;
$size=StrLen($chars)-1;
$password=null;
	    while($max--)
	    $password.=$chars[rand(0,$size)];
$lime['Пароль'] = $password;


#20 Dinara

    Активный участник

  • Пользователи
  • PipPipPip
  • 527 сообщений
  • Пол:Женщина
  • Город:Уфа

Отправлено 19 Август 2013 - 10:44

Действительно..))
Получается что это у нас таблица сотрудники, как можно отправить ему на ящик информацию о том, что пароль сменился?
Карточка выглядит следующим образом http://take.ms/rRUBri
sendmail("Смена пароля", " Сменился пароль на {$line['Пароль']} </a> " , "");
Просто до этого мы брали пользователя и обращались к его полю.а тут вроде сама карточка сотрудника, поэтому в затруднении небольшом..

И еще, можно ли как-то сделать, чтобы при смене пароля (либо посредством напоминания, либо доп.действием) отправлялась информация на телефон,указанный в карточке сотрудника?





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных