Skip to content

Commit

Permalink
Добавлен контроль длины генерации пароля
Browse files Browse the repository at this point in the history
  • Loading branch information
Sashagm committed Jun 12, 2023
1 parent e89444a commit d23d237
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 19 deletions.
49 changes: 32 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
- [Использование](#использование)
- [Методы шифрования](#методы-шифрования)
- [Фильтры генерации](#фильтры-генерации)
- [Длина пароля](#длина-пароля)
- [Режим обслуживания](#режим-обслуживания)
- [Кастомные поля](#кастомные-поля)
- [Дополнительные возможности](#дополнительные-возможности)
Expand All @@ -46,25 +47,31 @@
'isActive' => true, // Доступ авторизации
'isProvider' => true, // Проверка провайдера( запрет на использование одинаковых email)

'user' => [
'user' => [
'table' => 'users', // Таблица пользователей
'avatar' => "img", // Поле для аватарок
'pass_colum' => "password", // Поле пароля
'table_after' => "password", // После какого поля будут добавлены новые поля
'access_colum' => 'isBanned', // Поле для учета блокировки/группа или роль
'access_value' => 1, // Какое значение необходимо получить заблокировать доступ

],

'genPass' => [
'method' => 'bcrypt', // Метод шифрования пароля
'method' => 'bcrypt', // Метод шифрования пароля, доступне методы: 'md5', 'bcrypt'
'filter' => 'number', // Фильтр генерации пароля
'length' => 8, // Количество знаков для генерации пароля
'min' => 6, // Минимальное количество знаков
'max' => 10, // Максимальное количество знаков
'stable_length' => true, // Стабильная генерация
'secret' => 'erb26vwu2', // Секретная фраза для метода md5

],

'redirect' => [
'auth' => '/', // редирект после авторизации
'logout' => '/', // редирект после выхода

],

'custom_fields' => [
Expand All @@ -78,7 +85,7 @@
/*
1,
*/
],
],

```

Expand Down Expand Up @@ -114,12 +121,12 @@

Доступные следующие методы шифрования пароля:

- bcrypt
- md5
- password_hash
- sha1
- sha256
- base64
- `bcrypt`
- `md5`
- `password_hash`
- `sha1`
- `sha256`
- `base64`


##### Режим обслуживания
Expand Down Expand Up @@ -156,17 +163,25 @@

##### Фильтры генерации

Вы можете использовать разные фильтры для генерации пароля чтобы создавать разные комбинации:
Вы можете использовать разные фильтры для генерации пароля чтобы создавать разные комбинации в конфигрурационном файле `/config/socials.php` в разделе `genPass` параметр `filter`.

Доступные фильтры для генерации:

- string ( только английские буквы верхнего и нижнего регистра )
- number ( только цифры )
- hard ( только английские буквы верхнего и нижнего регистра а так же цифры )
- hard-unique ( только английские буквы верхнего и нижнего регистра а так же цифры и спец символы )
- rus-string ( только русские буквы верхнего и нижнего регистра )
- rus-hard ( только русские буквы верхнего и нижнего регистра а так же цифры )
- rus-unique ( только русские буквы верхнего и нижнего регистра а так же цифры и спец символы )
- `string` Только английские буквы верхнего и нижнего регистра.
- `number` Только цифры.
- `hard` Только английские буквы верхнего и нижнего регистра а так же цифры.
- `hard-unique` Только английские буквы верхнего и нижнего регистра а так же цифры и спец символы.
- `rus-string` Только русские буквы верхнего и нижнего регистра.
- `rus-hard` Только русские буквы верхнего и нижнего регистра а так же цифры.
- `rus-unique` Только русские буквы верхнего и нижнего регистра а так же цифры и спец символы.


#### Длина пароля

Для более защищённого пароля так же важно и его длина. Вы можете так же контрлировать его длину в конфигрурационном файле `/config/socials.php` в разделе `genPass`.
Варианты длины:
- `stable_length` true Стабильная генерация на основе значения `length`, false Рандомная генерация на основе рандома `min` и `max`.


#### Дополнительные возможности

Expand Down
13 changes: 12 additions & 1 deletion src/Http/Controllers/LoginController.php
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,18 @@ private function generateString($filter)
break;
}

$length = config('socials.genPass.length');
$minLength = config('socials.genPass.min');
$maxLength = config('socials.genPass.max');
$stableLength = config('socials.genPass.stable_length');


if ($stableLength) {
$length = config('socials.genPass.length');
} else {
$length = rand($minLength, $maxLength);
}


$string = '';
for ($i = 0; $i < $length; $i++) {
$string .= $characters[rand(0, strlen($characters) - 1)];
Expand Down
5 changes: 4 additions & 1 deletion src/config/socials.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,11 @@

'genPass' => [
'method' => 'bcrypt', // Метод шифрования пароля, доступне методы: 'md5', 'bcrypt'
'filter' => 'number', // Фильтр генерации пароля, доступные фильтры: 'str'(строка), 'num'(цифры), 'hard'(смешанное)
'filter' => 'number', // Фильтр генерации пароля
'length' => 8, // Количество знаков для генерации пароля
'min' => 6, // Минимальное количество знаков
'max' => 10, // Максимальное количество знаков
'stable_length' => true, // true Стабильная генерация на основе 'length', false рандомная генерация на основе 'min' / 'max'
'secret' => 'erb26vwu2', // Секретная фраза для метода md5

],
Expand Down

0 comments on commit d23d237

Please sign in to comment.