На одной из страниц сайта, в административном отделе, в открытом виде хранится пароль доступа к платежной...

Рейтинг: 5 из 5, голосов 1
+++++
На одной из страниц сайта, в административном отделе, в открытом виде хранится пароль доступа к платежной системе. Вот так: <div class="form-group row"> <div class="col-md-3"> <nop-label asp-for="Password" /> </div> <div class="col-md-9"> <nop-editor asp-for="Password" /> <span asp-validation-for="Password"></span> </div> </div> Как представить его в неявном виде?
Ответ:

Хранение пароля на стороне клиента - это действительно плохая идея.

Поскольку у меня нет информации о том, какой функционал должен быть реализован на вашем сайте, то могу дать только общий ответ.

Пароли следует хранить на стороне вашего сервера, например в базе данных или в конфигурационных файлах. Запрос от пользователя вашего сайта можно передать на ваш сервер, например, с помощью AJAX. Cервер обработает полученные данные и уже в зависимости от реализованного функционала сформирует ответ (например, откроет доступ к закрытой части сайта или отправит запрос к внешнему ресурсу, добавив данные о пароле).

1
Оцените, насколько полезна эта страница
+++++
Комментарии
31 октября
Сергей
Нет, он лежит на сервере, в отдельном плагине, но в открытом виде, что мне сильно не нравится. Была идея использовать для сервера место в дата-центре, теперь сомневаюсь в реальности такой реализации: кто имеет физический доступ к диску, тот этот пароль увидит.
Ответить
31 октября
Lebedev
Сергей, тут нужно понимать, что для взаимодействия с внешним сервисом по API вам в любом случае придется передавать ваш ключ/пароль в том виде, в котором его воспримет внешний сервис. Поэтому, да, тот кто имеет доступ к вашему серверу и некоторую квалификацию будет способен получить ваш пароль. Даже если вы на каком-либо этапе будете шифровать ваш пароль, при отправке запроса по API вам придется его декодировать обратно и на этом этапе его можно будет получить.

Если же ваша цель: просто сделать так, чтобы ваш пароль не хранился на сервере в том виде, в котором его принимает внешний сервис, то можете зашифровать его любой функцией обратимого шифрования. Например, в PHP:
echo base64_encode(<ваш пароль>);
Это делаете один раз, получаете значение зашифрованного пароля (в данном примере значение выведется на экран). Далее на сервере вместо пароля пишите:
base64_decode(<ваш зашифрованный пароль>)

В итоге пароль в том виде, в котором он отправляется по API в коде присутствовать не будет. Но повторюсь, это все больше "защита от дурака", программист со знаниями и целью все-равно ваш пароль сможет получить.
Ответить
03 ноября
Сергей
Увы, у меня не php, а Java и фрейморкНэт. Там хранение пароля в неявном виде предусмотрено, но разработчики плагина этого сделать не удосужились, а теперь этой компании нет. Плагин остался, а компания куда-то исчезла. Суть проблемы в следующем: есть таблица, там четыре строки, последняя из них содержит пассворд в явном виде. Скрипт написан на Jave, требуется добавить синтаксис, чтобы показывать точки, вместо букв и цифр в последней строке или линьк на этот пассворд в стандартном хранилище на сервере или в базе данных, которые защищены лучше, чем страницы плагина.
Ответить
Оставьте комментарий

Отправляя форму, я даю согласие на обработку персональных данных.