В битриксе есть полезная функция по генерированию случайной строки, которая отлично подходит для паролей новых пользователей. Но у нее есть и другие варианты применения. Читайте ниже.
Как создать пароль для новых пользователей в Битриксе
Какие сейчас требованию к паролям, в современном мире спам-ботов и прочей фигни? 🙂
1. содержать буквы в разных разных регистрах,
2. содержать цифры,
3. содержать спецсимволы.
Чтобы не писать велосипед на PHP, воспользуемся стандартной функцией randString. Минимальный набор параметров, это длина строки:
echo randString(8);
В чем минус? Доступны лишь следующие знаки:
abcdefghijklnmopqrstuvwxyzABCDEFGHIJKLNMOPQRSTUVWXYZ0123456789
Это были значения по умолчанию. Но, второй параметр данной функции может содержать в себе массив. Документация говорит: может быть массивом классов символов и тогда в результирующую строчку войдет как минимум один символ из каждого класса.
Пишем:
echo randString(12, array( "abcdefghijklnmopqrstuvwxyz", "ABCDEFGHIJKLNMOPQRSTUVWXYZ", "0123456789", "!@#\$%^&*()", ));
Соответственно, если вам нужно несколько цифр, создаете еще один элемент массива. Очень удобно, пароль генерируется, и его можно отправить в почтовом сообщение при помощи Event Битрикса.
Как в битриксе задавать уникальные ID при помощи randString
Давайте рассмотрим ситуацию, когда на странице используется HTML атрибут id=””, но его значение необходимо генерировать случайно. Пишем:
$randStr = randString(7); ... id="#uniq-< ?= $uniqueID ? >-callback" ...
Т.к. цифры могут быть в самом начале, а в HTML это недопустимо, мы будем генерировать имя в виде #uniq-uniqueID-callback.
Вот и всё, вы научились пользоваться функцией рандомной строки, в которой все символы будут случайны 🙂
Ссылка на документацию:
https://dev.1c-bitrix.ru/api_help/main/functions/string/randstring.php