Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 28, 2016 14:50:40

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Как поставить количество попыток на введения пароля?

У меня цикл попыток сделан так, чтобы представлять собой цикл попыток. Всё что к нему не относится делается за его пределами.
Пошли какие-то фантазии. -А если нужно использовать сохранённый пароль? А если вместо авторизации нужно написать “Фурье”? А если писать на асме, je можно минуя ret, в любую точку из любой.

Офлайн

#2 Апрель 28, 2016 16:10:48

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Как поставить количество попыток на введения пароля?

Shaman
Пошли какие-то фантазии.
Не, я тебе привёл примеры из практики. Ты просто не писал системы авторизации, поэтому тебе это кажется лишними вопросами.



Офлайн

#3 Апрель 28, 2016 16:24:50

Lestoroer
Зарегистрирован: 2015-12-24
Сообщения: 88
Репутация: +  5  -
Профиль   Отправить e-mail  

Как поставить количество попыток на введения пароля?

началось

Офлайн

#4 Апрель 28, 2016 16:27:34

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Как поставить количество попыток на введения пароля?

В данной постановке вопроса точно лишние. Практика мне известна и моноцикл, слитый из нескольких, она не оправдывает. Если что посложнее, тогда уже конечный автомат.

Отредактировано Shaman (Апрель 28, 2016 16:31:11)

Офлайн

#5 Апрель 28, 2016 16:34:36

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Как поставить количество попыток на введения пароля?

Lestoroer
началось
Дай поговорить!

Офлайн

#6 Апрель 28, 2016 16:48:16

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Как поставить количество попыток на введения пароля?

Shaman
Если что посложнее, тогда уже конечный автомат.
А я и без автомата могу всё ясно записать, особо не меняя цикл. А у тебя да, там нужно либо цикл переписывать, либо разделять циклы (а они могут требовать зависимостей каких-то (типа пароля, зависящего от имени)).

Я писал знаешь что, я писал ftp-сервер, и вот там много было таких мест, где надо было в зависимости от команды и её параметров выполнять разные действия. Там ещё есть пассивный режим - такая запутанная вещь с вычислением портов, которые нужно открывать в процессе взаимодействия с клиентом. Вообще, интересно было, так как это не учебная программка (удобненькая), а реальная программа (по rfc), которая должна и пользователя обслужить, и ещё у себя внутри всё точно выполнить, чтобы никаких ошибок не было.



Отредактировано py.user.next (Апрель 28, 2016 16:55:06)

Офлайн

#7 Апрель 28, 2016 17:08:07

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Как поставить количество попыток на введения пароля?

py.user.next
А у тебя да, там нужно либо цикл переписывать, либо разделять циклы
Именно что не переписывать, а разделять. Чаще всего будет два цикла: такой, как показал и содержащий его цикл выбора пользователя.
У тебя же не ясно пишется и добавляется, а какая-то каша из управляющих конструкций с неочевидными зависимостями, возбуждающая воспоминания о goto и C.
ЗЫ
Я тоже много чего писал и пишу реально работающего, потому пугать меня ftp серверами не нужно, благо
iptables –append INPUT –match conntrack –ctstate ESTABLISHED,RELATED –jump ACCEPT
iptables –append OUTPUT –match conntrack –ctstate ESTABLISHED,RELATED –jump ACCEPT
частенько глаза мозолят.

Офлайн

#8 Апрель 29, 2016 13:07:52

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Как поставить количество попыток на введения пароля?

Shaman
У тебя же не ясно пишется и добавляется, а какая-то каша из управляющих конструкций с неочевидными зависимостями
Вообще-то, у меня там через цепочку утверждений код построен. Твой код я легко ломаю любым дополнительным условием. Мой же код не связан, добавляй, что хочешь.

Shaman
Я тоже много чего писал и пишу реально работающего, потому пугать меня ftp серверами не нужно
Так ты же написал код с использованием else у цикла. В чём необходимость?



Отредактировано py.user.next (Апрель 29, 2016 13:08:48)

Офлайн

#9 Апрель 29, 2016 18:16:25

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Как поставить количество попыток на введения пароля?

уважаемые, а почему просто функцию не сделать?

#-*-coding:utf8-*-
def get_pass(keyword,count=3):
    while count:
        pswd = raw_input('Password: ')
        if pswd == keyword: return True
        count -= 1
    return False
print get_pass(u'парол')

Отредактировано vic57 (Апрель 29, 2016 18:18:12)

Офлайн

#10 Апрель 29, 2016 20:05:38

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Как поставить количество попыток на введения пароля?

vic57
а почему просто функцию не сделать?
“Просто” не интересно - нужно сделать декоратор.
py.user.next
Так ты же написал код с использованием else у цикла. В чём необходимость?
Необходимость обозначить паттерн. Без завершающего сообщения можно без него. Меня больше коробит условие в цикле.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version