Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Разное > Флейм
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.08.2011, 11:12
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Разработчикам систем парольной аутентификации


Цитата:
Уважаемые разработчики!

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

Собственно, просьбы:
Безусловно отличной идеей является хранение паролей пользователей на сервере в открытом виде. Ведь это так здорово: в ответе на запрос о восстановлении доступа, прислать пользователю его старый пароль, не заставляя его использовать временный и не обременяя его задачей придумывания нового постоянного. Да и целую форму с обработчиком сэкономите!
Если вы все же решились на столь смелый поступок и таки планируете хранить в базе хэши паролей — забудьте о стандартных функциях хэширования! Вы вообще — программист или где? А известная только вам функция хэширования только добавит защищенности к вашей системе.
Если никакой придурок не озадачил вас в ТЗ необходимостью реализации периодической принудительной смены пароля, то возможность его изменения надо запретить вовсе. Ибо нефиг давать пользователям волю менять пароли по десять раз на дню, расходуя при этом драгоценные ресурсы ваших серверов. И опять-таки: на целой одной форме и ее обработчике можно сэкономить.
Если же такой придурок таки нашелся, не отчаивайтесь! Вы можете существенно облегчить жизнь пользователям, если разрешите им менять свой пароль на точно такой же, или использованный в прошлый раз. Мелочь, а того придурка на место поставите.
И вообще, запомните: идиота, выставляющего какие-либо требования к парольной защите вы просто обязаны обмануть по полной программе! Ведь именно из-за него у вас вообще возникла необходимость в этой самой парольной защите!
Разумеется, ваши сервера не халявная рапидшара и нечего позволять пользователям засорять место на жестких дисках своими ублюдскими 20-символьными паролями. 8 символов хватит всем! Это в конце 90-ых всем доступно объяснил Microsoft, если кто не помнит.
И вообще, в задницу все ограничения на сложность паролей! Ваши пользователи — свободные люди, и было бы жесточайшим ущемлением их прав навязывать им необходимость использования каких-либо групп символов в обязаловку. И если убежденный расист хочет иметь пароль "fuckingniggas", то кто вы такой, чтобы запрещать ему это?!
Но если вдруг вы реализуете какие-либо ограничения, то ни в коем случае ни раскрывайте их пользователю заранее и одной пачкой! Выдавайте информацию постепенно. Во-первых, в этом случае злой хакерюга не сможет сразу понять вашу парольную политику и оставит попытки получить доступ, а во-вторых, нет ничего забавнее, чем потом наблюдать в логах, как пользователь трахался, пытаясь понять: какие еще ограничения он не учел?
Да-да, обязательно отражайте в логах все вводимые пароли. Потом, если внезапно рухнет база, ее можно будет легко по ним восстановить.
Ни в коем разе не используйте идентификаторы сессий! Вы сами-то хоть подумали, сколько кода вам придется для этого написать? Да и аутентифицироваться заново на каждую операцию безопаснее. А серверы выдержат, мы же в п.3 их мощность сэкономили.
Додумавшись до идентификаторов сессий (вам заняться больше нечем?) не изобретайте велосипед, вам и так есть где развернуть свою фантазию при реализации функции хэширования. Используйте в качестве идентификаторов GUID, или (вот это вообще будет бомба!) случайное двухзначное число, равное количеству секунд в момент входа в систему.
Двухфакторная аутентификация с отправкой сессионного пароля в SMS-сообщении снимает ровным счетом все угрозы, связанные с несанкционированным доступом. Плюньте в глаз тому, кто будет утверждать обратное. Кстати, в этом случае будет очень удобно использовать мобильный телефон пользователя для восстановления его основного пароля.
Обязательно блокируйте запись пользователя после 5-10 неудачных попыток входа. Ведь потом будет так весело наблюдать за впахивающим саппортом, отбивающимся от запросов на разблокировку всей пользовательской базы разом.
Капча — зло. Пользователя нельзя обижать подозрениями в том, что он робот, и заставлять вводить скукоженные символы. Если уж пришлось, то скукоживайте их без фанатизма, чтобы пользователь мог не напрягаясь испытать радость от того, что он не робот. Да и вообще — используйте легкоугадываемый алгоритм выбора символов для капчи. Тогда постоянные пользователи смогут вводить ее, даже не глядя на экран.
И никогда, ни под каким предлогом, не передавайте аутентификационные данные по защищенному каналу: затрахаетесь потом это отлаживать.

P.S: Уважаемые разработчики, убедительно прошу вас рассмотреть мои просьбы и, по возможности, следовать им. А то работы у меня совсем не останется.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #2  
Старый 01.09.2011, 11:17
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Продолжаю выкладывать шедевры:
http://www.youtube.com/watch?v=pooIa...eature=related
ЗЫ: Надо смотреть до Финала

Звезды зажигают.
http://www.youtube.com/watch?v=MQQIw...eature=related

Ну и немного гордости за наших. Вот секретная разработка наших кораблестроителей, подводная лодка на гусеницах.
http://www.youtube.com/watch?v=MipI1iJAuFk
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.

Последний раз редактировалось Страдалецъ, 01.09.2011 в 11:21.
Ответить с цитированием
  #3  
Старый 01.09.2011, 14:57
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Первый ролик хоть и боянистый, но доставляет... Смотреть нужно последние 20 секунд.
Второй... ну там по голосовалке и каментам все ясно..
Третий - я такие танкетки видел в Якутии, надор отзывается хорошо, правда говорят что если ее глудоко затопить, то пипец.
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #4  
Старый 01.09.2011, 16:10
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

А ты второй ролик со звуком смотрел? Не стоило. Его надо без звука смотреть, тогда это действительно смешно. Сколько же надо было Ред була выпить что-бы так окрылило?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 01.09.2011, 16:30
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

У нас в офисе программистом работает индус, самый настоящий, правда говорит на аглицком.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #6  
Старый 02.09.2011, 13:12
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

А у нас в офисе работают русские, самые настоящие русские, только пишут не по-русски, а на Pascal, C и т.д.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #7  
Старый 12.09.2011, 21:45
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Как придумали французский язык:
- А давайте половина букв будет читаться *** знает как,а половина вообще не будет!
- Палки сверху не забудь

Как придумали английский язык:
- А давай, букв будет немного, все они простые, но гласные пусть читаются как попало.
- И чтобы значение слова менялось непредсказуемо в зависимости от предлогов и социального статуса говорящего/пишущего!

Как придумали итальянский язык:
- А давай все слова буду заканчиваться на гласные!
- И руками махать. А то жарко.

Испанский язык:
- А давай поприкалываемся над итальянским языком!

Русский язык:
- А давай писать слова в случайном порядке, а смысл передавать интонациями!
- Приставки и суффиксы не забудь!

Болгарский язык:
- А давай поприкалываемся над русским языком!
- Точно! Будем разговариать как русские дети.

Польский язык:
- А давай говорить по-славянски, но по заподноевропейским правилам?

Немецкий язык:
- А зачем нам пробелы?
- Букв добавь!

Китайский язык:
- А давай вместо слов использовать звуки природы!
- Смотри какую я каляку-маляку нарисовал. Вот тут как бы Солнце, вот тут быки пашут Землю. Пусть это означает стол!

Японский язык?
- А давай говорить все звуки с одной интонацией?
- Как собака лает. Чтобы все боялись
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #8  
Старый 07.02.2012, 23:17
danyamb danyamb вне форума
Прохожий
 
Регистрация: 23.01.2012
Сообщения: 11
Репутация: 10
По умолчанию

просто полноприводная корова
Ответить с цитированием
  #9  
Старый 08.02.2012, 23:05
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Контрольный вопрос в методичке:
"22. Как сделать прерывания недоступными?"
Первая же мысль:
"Стереть таблицу векторов прерываний."
CLI вспоминается только через 5 минут...
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #10  
Старый 13.02.2012, 22:40
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

http://i31.fastpic.ru/big/2012/0213/...2ce98b3568.jpg
Ответить с цитированием
  #11  
Старый 13.02.2012, 22:54
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

http://i27.fastpic.ru/big/2012/0213/...06dc748a2c.jpg
Только в россии такое могут придумаьт
Ответить с цитированием
  #12  
Старый 15.02.2012, 19:56
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

http://www.youtube.com/watch?feature...&v=ZmhMsa015sQ
Пичалька.

Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо M.A.D.M.A.N. за это полезное сообщение:
ALexandr555 (15.02.2012), ryderx34 (16.02.2012)
  #13  
Старый 06.07.2012, 11:23
Аватар для delphi-koder
delphi-koder delphi-koder вне форума
Прохожий
 
Регистрация: 06.07.2012
Адрес: Москва
Сообщения: 2
Репутация: 10
По умолчанию

про отключение javascript понравилось
Ответить с цитированием
  #14  
Старый 11.07.2012, 12:08
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Код:
function FileTimeToDateTime(FileTime: TFileTime): TDateTime;
 var
   ModifiedTime: TFileTime;
   SystemTime: TSystemTime;
 begin
   Result := 0;
   if (FileTime.dwLowDateTime = 0) and (FileTime.dwHighDateTime = 0) then
     Exit;
   try
     FileTimeToLocalFileTime(FileTime, ModifiedTime);
     FileTimeToSystemTime(ModifiedTime, SystemTime);
     Result := SystemTimeToDateTime(SystemTime);
   except
     Result := Now;  // Something to return in case of error 
  end;
 end;
http://delphiworld.narod.ru/base/ft_to_dt.html

Сильно насмешила 14 строчка.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #15  
Старый 11.07.2012, 12:54
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
Смех

ну переобезопасился человек)

Код:
var
  FileTime: TFileTime;
begin
  FileTime.dwLowDateTime:=0;
  FileTime.dwHighDateTime:=$80000000;
  FileTimeToDateTime(FileTime);
end;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:09.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter