Как поместить имя пользователя / пароль в формате JSON, который будет использоваться для установки заголовка запроса XHR - PullRequest
0 голосов
/ 13 сентября 2018

В приведенном ниже примере, если я использую имя пользователя и пароль, то любой может увидеть его на странице источника. Есть ли какое-либо решение, чтобы скрыть имя пользователя и пароль, или мы можем поместить учетные данные в файл json или xml и получить к нему доступ, чтобы установить его в заголовке, если да, пожалуйста, сообщите нам решение.

$.ajax({     type: "POST",
    contentType: false,
    data: formData,
    url: "external domain URL",
    crossDomain: true,
    cache: false,
    processData: false,

    beforeSend: function(xhr) {

        xhr.setRequestHeader("Authorization", "Basic " + btoa("username" + ":" + "Password"));
        xhr.withCredentials = true;

},

1 Ответ

0 голосов
/ 13 сентября 2018

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

Вместо этого было бы намного лучше, если бы у вас была страница, которая работала бы следующим образом:

  • когда нужны данные, на сервер отправляется запрос на сбор имени пользователя и пароля
  • сервер ответит закодированным изменением этих данных
  • клиентская сторона будет декодировать это
  • клиентская сторона отправит запрос

Кроме того, вы можете использовать свой сервер в качестве прокси-сервера, то есть отправлять все запросы на ваш собственный сервер вместо целевого сервера, и сервер, в свою очередь, перенаправит запрос на целевой сервер и ответ клиенту -боковая сторона. Это было бы еще лучше.

...