Генератор пароля для пользователей

InstantCMS 2.X

простая фича для пользователей сайта

#1 7 августа 2022 в 16:10

Может кому интересно и пригодится...

  1. Панель управления / Виджеты и страницы / Все страницы
  2. В меню нажать Страницы, выбрать — Пользовательские.
  3. Страницы — Создать страницу.
    Изображение

Заголовок — Управление аккаунтом (пароль)

Фильтрация URLПоложительные маски — users/*/edit/password (если у вас не users то пишите свое название)

Доступ — на свое усмотрение.

Сохранить.

Далее выбрать Виджет HTML блок, Заголовок — Генератор пароля.

Содержимое HTML блока

  1. <div class="container">
  2. <div class="row">
  3. <div class="col-sm-12 col-md-6">
  4. <p class="p-3 p-content">Используйте псевдослучайные пароли, нажмите на кнопку чтобы создать новый пароль с применением в комбинации служебных символов, букв, цифр.</p>
  5. </div>
  6. <div class="col-xs-12 col-sm-12 col-md-6">
  7. <div class="form-group p-2 p-content">
  8. <div class="input-group">
  9. <input type="text" class="border-dark form-control form-control-sm input-sm" rel="gp" data-size="12" data-character-set="a-z,A-Z,0-9,#">
  10. <span class="input-group-append input-group-btn"><button type="button" class="btn btn-dark btn-sm getNewPass"><span class="fa fa-refresh"></span>&nbsp;Пароль на 12 (+спецсимволы)</button></span>
  11. </div>
  12. </div>
  13. <div class="form-group p-2 p-content">
  14. <div class="input-group">
  15. <input type="text" class="form-control form-control-sm input-sm" rel="gp" data-size="6" data-character-set="a-z,A-Z,0-9">
  16. <span class="input-group-append input-group-btn"><button type="button" class="btn btn-sm getNewPass"><span class="fa fa-refresh"></span>&nbsp;Простой пароль на 6</button></span>
  17. </div>
  18. </div>
  19. </div>
  20. </div>
  21. </div>

Вкладка Java/CSS

JavaScript код

  1. function randString(c) {
  2. var a = $(c).attr("data-character-set").split(",");
  3. var d = "";
  4. if ($.inArray("a-z", a) >= 0) {
  5. d += "abcdefghijklmnopqrstuvwxyz"
  6. }
  7. if ($.inArray("A-Z", a) >= 0) {
  8. d += "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  9. }
  10. if ($.inArray("0-9", a) >= 0) {
  11. d += "0123456789"
  12. }
  13. if ($.inArray("#", a) >= 0) {
  14. d += "![]{}()%&*$#^<>~@|"
  15. }
  16. var e = "";
  17. for (var b = 0; b < $(c).attr("data-size"); b++) {
  18. e += d.charAt(Math.floor(Math.random() * d.length))
  19. }
  20. return e
  21. }
  22. $('input[rel="gp"]').each(function() {
  23. $(this).val(randString($(this)))
  24. });
  25. $(".getNewPass").click(function() {
  26. var a = $(this).closest("div").find('input[rel="gp"]');
  27. a.val(randString(a))
  28. });
  29. $('input[rel="gp"]').on("click", function() {
  30. $(this).select()
  31. });

Далее переходите к себе в аккаунт, в меню действий выбираете Редактировать профиль, вкладка Безопасность.
Результат должен быть таким...

Изображение

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.