PHP регулярное выражение для проверки пароля с дикими символами - PullRequest
0 голосов
/ 30 сентября 2010

Я пытаюсь добавить дикие символы в мое текущее буквенно-цифровое регулярное выражение, чтобы усилить проверку пароля.Я не пытаюсь требовать от пользователя вводить символы подстановки, просто позволяю им вводить символы подстановки.

'/^[a-z0-9]{8,16}$/i'

Я также использую cakephp и выполняю проверку в модели, если это помогает, но не очень нужноза этот ответ.

            'rule' => '/^[a-z0-9]{8,16}$/i',
            'on' => 'create',
            'allowEmpty' => true

Ответы [ 3 ]

3 голосов
/ 30 сентября 2010

Просто добавьте символы, которые вы хотите разрешить, к классу символов ([...]):

/^[a-z0-9!#$%&]{8,16}$/i
1 голос
/ 30 сентября 2010

вы делаете это совершенно неправильно.никогда не используйте регулярные выражения для полей пароля.таким образом, вы ничего не разрешаете пользователю, вы просто запрещаете пользователю вводить все, что он хочет использовать в качестве пароля (возможно, некоторые специальные символы, такие как & или {или что-то еще.

, в любом случае ваш подход вредит больше, чемэто помогает.

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

0 голосов
/ 30 сентября 2010

Я также думаю, что вы должны разрешить «все», таким образом удалить проверку содержимого и запретить только «пустые» строки или слишком короткие строки (в идеале, с использованием проверки живого JavaScript в качестве индикатора, чтобы люди не должны были это делать) попробуйте 10 раз, прежде чем выяснить, что работает).

Вам не важно, что люди будут печатать, даже на японском, так как вы все равно будете кодировать эту строку (я надеюсь!), Используя встроенную функцию CakePHP, с sha1 и md5 и солью, и вы закончите в конце концов, с чем-то безобидным.

Использование $this->Auth->password($string);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...