dimOn писал(а):
Phricker писал(а):
не позволяет даже пароли одинаковые создавать )
… что значительно понижает их криптостойкость
Если генерить 6-ти значные пароли, то каждый пароль - это 6^6 вариантов, ЕМНИМС.
Раз уж мы заговорили об устойчивости паролей, то может Вы все же сделаете ограничение на кол-во неправильных вводов (я где-то тут об этом просил уже)? А то ведь получается, что страничка статистики БГБ как раз и является той самой дыркой, через которую можно ломануть карточную систему тупо постя варианты ломалкой.
Как я предлагаю это сделать в БГБ:
В течении Х времени абонентку разрешено ошибиться Y раз, после каждого неправильного ввода клиенту рисовалось предупреждение "у вас осталось N ошибок, после чего пополнение счета будет заблокировано", если клиент исчерпал все возможности ошибиться Y в течении времени X мы не только не рисуем ему поля ввода, выводя на их месте ошибку "превышено разрешенное кол-во ошибок", но и на случай тупого постинга перестаем вообще принимать от него запросы в биллинг на пополнение счета попросту отсылая в лог все что он вводит для обнаружения "подбиральщиков".
Для этого надо обзавестись еще одной табличкой, назовем ее
card_input_error_<mid>, в которую писать поля:
cid - для фиксации абонента
error_time (timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP) - для фиксирования даты и времени ошибки, чтобы видеть когда это было + возможность расчета времени X
card_login - для логина карты
card_pass - для пароля карты
Последние 2 поля нужны для того чтобы мы могли увидеть что именно вводит абонент.
Например человеку разрешено ошибиться 3 раза в течении 1 часа:
Если абонент ошибся менее 3 раз за час, например ошибся 1-2 раза, а на 2/3-й правильно ввел карту мы просто стираем все записи о его ошибках, т.к. errare humanum est и хранить.
Если абонент превысил кол-во ошибок и его ввод заблокировался - он звонит в ТП, где:
- открывают вкладку модуля карточек, переключаются на "ошибки ввода", фильтруют по абоненту и смотрят
- открывают карточку договора, в модуле карт открывают "ошибки ввода" и смотрят
Когда абонент диктует параметры карты, которые он хотел ввести и мы видим, что он ошибся то там, то тут - мы просто нажимаем кнопку "разблокировать доступ к картам" или "удалить все ошибки", после чего он может ввести карту сам, либо ее введут ему в ТП. Так мы отсеим порядочных абонентов (ошибся и позвонил - молодец!), от подбиральщиков, которые либо никогда не позвонят, либо позвонят и начнут нести чушь, но мы то увидим сколько он навводил и когда он это пытался сделать и тут можно просто сказать "приходите - будем разбираться почему у вас не получается" и если придет - мы хоть посмотрим на него, а если не придет - он не сможет пополнить счет картой и, скорее всего, больше не сможет пользоваться инетом, т.к. ложить иными средствами он, скорее всего, не станет. Если подбиральщик не объявляется - открываем вкладку модуля карточек, переключаемся на "ошибки ввода", смотрим кто у нас самый хитро*опый и думаем что с ним делать.
У меня раньше примерно так и было сделано и все работало как часы.
P.S. Чтобы народ не ошибался в вводе я сделал для карточных паролей:
Код:
<input name="pswd" type="text">
вместо прежнего:
Код:
<input name="pswd" type="password">
т.к. никакой секьюрности тут вообще не надо, а когда человек видит что набирает у него меньше шансов ошибиться, чем уменьшить звонки в ТП.
Это намек на то что можно было бы подправить в статистике