Как спрятать пароль
Перейти к содержимому

Как спрятать пароль

  • автор:

Показать/скрыть пароль

Чтобы включить отображение пароля в поле 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

Комментарии

Авторизуйтесь, чтобы добавить комментарий.

Другие публикации

Как сгенерировать пароль на JS

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

Contenteditable – текстовый редактор

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

Select option с ссылками

По спецификации 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 @edward_freedom

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

KraGenDeveloper

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

vabka

Василий Банников @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 информация предоставлена во встроенном Справочном центре в разделе Автоматизация — Установка по сети. Примеры приведены с учетом функционала замены использования пароля в открытом виде на случайно сгенерированный одноразовый пароль компьютера:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *