Показать/скрыть пароль
Чтобы включить отображение пароля в поле password нужно заменить атрибут type=»password» на type=»text» , сделать это можно на jQuery или чистом JS.
Показать пароль по чекбоксу
$('body').on('click', '.password-checkbox', function() < if ($(this).is(':checked'))< $('#password-input').attr('type', 'text'); >else < $('#password-input').attr('type', 'password'); >>);
Результат:
Показать пароль по ссылке
$('body').on('click', '.password-control', function() < if ($('#password-input').attr('type') == 'password')< $(this).html('Скрыть пароль'); $('#password-input').attr('type', 'text'); >else < $(this).html('Показать пароль'); $('#password-input').attr('type', 'password'); >return false; >);
Результат:
Показать пароль по иконке
.password < position: relative; >.password-control < position: absolute; top: 11px; right: 6px; display: inline-block; width: 20px; height: 20px; background: url(/view.svg) 0 0 no-repeat; >.password-control.view < background: url(/no-view.svg) 0 0 no-repeat; >
$('body').on('click', '.password-control', function() < if ($('#password-input').attr('type') == 'password')< $(this).addClass('view'); $('#password-input').attr('type', 'text'); >else < $(this).removeClass('view'); $('#password-input').attr('type', 'password'); >return false; >);
Результат:
Без jQuery
function show_hide_password(target) < var input = document.getElementById('password-input'); if (input.getAttribute('type') == 'password') < target.classList.add('view'); input.setAttribute('type', 'text'); >else < target.classList.remove('view'); input.setAttribute('type', 'password'); >return false; >
Результат:
Предыдущая запись PHP-класс для создания миниатюр изображений
Следующая запись Как преобразовать текст из textarea в параграфы HTML
Комментарии
Авторизуйтесь, чтобы добавить комментарий.
Другие публикации

Небольшая JavaScript функция для генерации пароля.

Если добавить атрибут contenteditable к элементу, его содержимое становится доступно для редактирования пользователю, а.

По спецификации HTML в option нельзя вставить ссылку, если все-таки её туда вставить, то работать она не будет. В таких случаях можно сделать перенаправление браузера по клику на JS или имитацию.
Как спрятать пароль в конфиге?
Как-то нехорошо держать открытые пароли в конфигах. Как бы захешировать это и передать smbpasswd?
serg002 ★★
17.01.23 23:12:47 MSK
В конфигах (в базе самбы) и не хранятся открытые пароли, а хранятся хэши. А зачем ты их решил где-то продублировать в открытом виде это уже тебе лучше знать.
firkax ★★★★★
( 18.01.23 02:36:49 MSK )
какой то джунско-новорегский вопрос…
usi_svobodi ☆
( 18.01.23 03:00:23 MSK )

Шифрование пароля в данном случае не поможет, надо ещё сам вызов smbpasswd скрыть.
unDEFER ★★★★★
( 18.01.23 04:16:26 MSK )

Как вариант, поместить скрипт с конфигом на сервер с ограниченным доступом. Или засунуть это в докер.
Cau84
( 18.01.23 17:06:53 MSK )
Ответ на: комментарий от usi_svobodi 18.01.23 03:00:23 MSK

Вот, да. Теперь я отчётливо вижу, почему ТС боится, что его заменят джунами.
i-rinat ★★★★★
( 18.01.23 17:11:29 MSK )
А смысл? Если хэш пароля может быть использован для авторизации, его уточка эффективно эквивалентна уточке пароля.
bo4ok ★
( 18.01.23 17:13:56 MSK )
Ответ на: комментарий от Cau84 18.01.23 17:06:53 MSK

Что мешает зайти в контейнер и рыться там?
her_s_gory ★
( 18.01.23 17:16:31 MSK )
- openssl passwd -6 мой_пароль ### Получаем Hash
- echo ‘User:Hash’ | chpasswd -e
krasnh ★★
( 18.01.23 17:18:51 MSK )

Это не конфиг, а скрипт
при таком подходе – общедоступный скрипт, somepass\somepass держат в файле доступном только нужному пользовaтелю
smbpasswd -a -s "$" < /$PATH_TO_USER_ONLY/samba.credentials
где $PATH_TO_USER_ONLY автоматически подставляется под конкретного пользователя
futurama ★★★★★
( 18.01.23 17:23:17 MSK )
Последнее исправление: futurama 18.01.23 17:25:08 MSK (всего исправлений: 2)

Та по-старинке, 100500 пробелов перед ним нарисуй и он «задвинится» за область видимости терминала)))
Anoxemian ★★★★★
( 18.01.23 17:24:15 MSK )
Ответ на: комментарий от Anoxemian 18.01.23 17:24:15 MSK

Та по-старинке, 100500 пробелов перед ним нарисуй и он «задвинится» за область видимости терминала)))
Нельзя выдавать такие секреты! У тебя небось лет 10 ушло, чтобы это узнать, а теперь тебя джуном заменят.
goingUp ★★★★★
( 18.01.23 17:36:33 MSK )
Ответ на: комментарий от goingUp 18.01.23 17:36:33 MSK

Джуном - это если повезет. Я нашла credentials меньше чем за десять секунд, заменят мною.
Irma ★
( 18.01.23 17:46:36 MSK )
Ответ на: комментарий от Irma 18.01.23 17:46:36 MSK

Писатели, у которых программисты отобрали работу, создав chatGPT, проявили хитрость и отнимают работу у программистов. Срочно на главную лора!
goingUp ★★★★★
( 18.01.23 18:00:15 MSK )

echo "whavbe_abibert" | tr 'N-ZA-Mn-za-m' 'A-Za-z' | (smbpasswd -a -s "$")
cocucka ★★★★☆
( 18.01.23 19:01:27 MSK )
Последнее исправление: cocucka 18.01.23 19:01:48 MSK (всего исправлений: 1)
Ответ на: комментарий от cocucka 18.01.23 19:01:27 MSK

Шифр Цезаря, кстате, проверенный временем. Джунам не по зубам!
cocucka ★★★★☆
( 18.01.23 19:03:25 MSK )
Ответ на: комментарий от Irma 18.01.23 17:46:36 MSK

Шерлок холмс в юбке детектед.
Как спрятать пароль?
Так случилось, что приходится использовать зашитый пароль в бэкенде. Есть ли какие-то варианты, его скрыть от лишних глаз? Ведь часть исходного кода порой можно глянуть сторонними инструментами.
- Вопрос задан более года назад
- 275 просмотров
2 комментария
Простой 2 комментария

edward_freedom @edward_freedom
бекенд на то и бекенд, чтобы никто кроме сервера к нему доступ не имел, как пароль кто то к нему получит?

~KraGen~ @KraGenDeveloper
сделать шифрование хз как
Решения вопроса 1

Василий Банников @vabka Куратор тега C#
Токсичный шарпист
Ведь часть исходного кода порой можно глянуть сторонними инструментами.
Если это бэкенд, то какими ещё инструментами можно глянуть без прямого доступа к исходному коду и файловой системе сервера, где это запускается?
А так из вариантов, как убрать его из исходников - прокидывать как параметр в конфиге или в переменных среды.
Или использовать какое-нибудь секурное хранилище.
Например Vault или Azure Key Vault.
Ответ написан более года назад
Комментировать
Нравится 3 Комментировать
Ответы на вопрос 2
Что и главное от кого защищаешься? от этого зависит ответ и он будет сильно разный.
Если реально нужно как то защитить данные от провайдера, их администраторов, сканирующих машины своих клиентов на предмет 'чем бы поживиться', то критичные строки нужно в принципе не хранить в файлах а только в оперативной памяти, запрашивая его 'на стороне'.
Этот вариант подходит только для запущенных служб/приложений а не http rest на основе cgi или модулей веб сервера (для них понадобится запустить свою службу, запросы к которой уже будут уязвимы). Метод не даст абсолютной гарантии, так как имея доступ к файлам кода бакэнда провайдер может их проанализировать и вычислить и подменить методику на менее защищенную, в особо запущенных случаях провайдер может и в оперативной памяти машины покопаться, но это особо сложный и дорогой способ, а значит маловероятен.
В момент запуска приложение запрашивает у стороннего сервиса пароль, сторонний сервис его передает, например после ручного подтверждения оператором/владельцем.
Советы
- не использовать типовые технологии и предлагаемые провайдером инструменты, иначе встает вопрос от кого тогда защищаешься то?
- обязательно реализовать ручное подтверждение оператором, администратор знает когда перезапускается веб сервер и если к нему приедет запрос на отсылку пароля в другое время - повод забеспокоиться
- не делать это вопрос ответной системой (типа бакэнд по rpc обращается к удаленному сервису и тот сразу возвращает пароль), так как ее легко вычислить в коде и симулировать вызов, бакэнд запрашивает, но работа сервиса начнется только после того как к нему приедет соответствующий запрос
p.s. пример простой реализации если нужно защитить данные от приглашенного администратора (вариант с заражением им трояном пока опустим, то другими способами фиксится) - все конфиги в открытом виде хранятся в определенном каталоге, по умолчанию там тестовые данные, для проверки работоспособности проекта, а на боевом сервисе или в режиме 'in production' в этот каталог складываются правильные конфиги, например монтированием из encfs, эту операцию делает специальный человек в момент перезапуска сервера вручную.
Само собой правильно - администратор должен не настройкой заниматься, а создавать и настраивать инструменты автоматического развертывания (например образ docker или конфиги ansible), т.е. минимум два человека - один делает всю работу но не имеет доступа к паролям, только тестовые данные, другой только проверяет работу и запускает в бой.
Разделяй и властвуй - не держи все в одном месте, разделяй сервис на несколько, чтобы критичная информация могла быть размещена отдельно от основной логики в виде простого и дубового модуля, требующего минимального и редкого обслуживания
Как скрыть пароль при установке ОС по сети?
При установке ОС по сети пароль указывается в открытом виде, что категорически запрещено внутренними регламентами и службами безопасности многих компаний. Как скрыть пароль при установке ОС по сети?
Ответ
Скрытие пароля при сетевой установке реализовано в ALD Pro, начиная с версии 1.4.0.
В актуальных версиях ALD Pro информация предоставлена во встроенном Справочном центре в разделе Автоматизация — Установка по сети. Примеры приведены с учетом функционала замены использования пароля в открытом виде на случайно сгенерированный одноразовый пароль компьютера: