November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags
Friday, March 5th, 2010 02:25 pm

Напишите регулярное выражение, которое проверяет, что во входной строке есть: хотя бы одна буква (латинская) и хотя бы одна цифра и хотя бы один символ, не являющийся буквой и цифрой.

Типичная такая проверка пароля на сложность. По отдельности это всё элементарно, загвоздка в том, что это надо сделать одним выражением.

В оригинале вопрос был под C#, но в общем-то, можно использовать любой достаточно развитый диалект, я на перле сделал.

Моя версия: /(?=.*\d)(?=.*[a-z])(?=.*[^0-9a-z])/i Чтобы посмотреть, выделите мышкой.

via [info]nikulina

Оригинал этой записи. Комментировать можно тут или там.

Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме

Friday, March 5th, 2010 02:22 pm (UTC)
Блин. Ну очевидно, что системные пользователи (технические) я не трогаю.
Friday, March 5th, 2010 02:23 pm (UTC)
а если он почтовый и ftp-для-веба пользователь, то такому зачем шелл?
Friday, March 5th, 2010 02:26 pm (UTC)
Так ему и в системной базе делать нечего. У меня так и есть.
Friday, March 5th, 2010 02:28 pm (UTC)
угу, будем вручную клепать систему аутентификации пользователей нескольких разных сервисов вместо того, чтобы пользоваться имеющейся системной.
мне такой подход не близок.
Friday, March 5th, 2010 02:36 pm (UTC)
Одного виртуального пользователя застроить проще и надёжнее, чем разбиратсья куда какие права раздавать пок аждому из 50-ти UID'ов, учитывая ограниченную модель безопасности юникса.
Friday, March 5th, 2010 02:37 pm (UTC)
зависит от задачи
Friday, March 5th, 2010 02:43 pm (UTC)
С этим не поспоришь. я вот в связи с дешевизной памяти думаю сделаь UID каждому сайту и свой апач каждому сайту + ngnix на входе...
Friday, March 5th, 2010 02:45 pm (UTC)
а я так и сделал :) но пользователи таки системные, домашние директории world-unreadable, а шеллом scponly :)
Friday, March 5th, 2010 02:48 pm (UTC)
Ну да, тут придётся сделать каждого системным пользователем — а как же иначе, если у каждого свой UID?
А вот директории я как раз не хочу делатьб WW и даже GW.
Friday, March 5th, 2010 02:51 pm (UTC)
группа у каждого тоже своя, GW поэтому не существенно.
а WW у меня явным образом отключается при создании очередной домашней директории
Friday, March 5th, 2010 02:54 pm (UTC)
А зачем WW-то делать,
Friday, March 5th, 2010 02:56 pm (UTC)
я, наверное, недостаточно понятно изъясняюсь. я два раза уже написал, что я его НЕ делаю
Friday, March 5th, 2010 02:57 pm (UTC)
Я идиот.я прочёл как world-writable в самом начале а не world-unreadable. Прошу прощения. Обсмотрелся.