В приведенном ниже коде я хочу скрыть содержимое ключа ключа (динамика), просматриваемого консолью браузера.javascript: скрытие содержимого ключа
var App_Version = 1;
var App_id = 35;
var Speaker = "password";
В приведенном ниже коде я хочу скрыть содержимое ключа ключа (динамика), просматриваемого консолью браузера.javascript: скрытие содержимого ключа
var App_Version = 1;
var App_id = 35;
var Speaker = "password";
с помощью JWT мы можем зашифровать data.try это link
Ну, вы не можете «спрятать» javascript.
Вы можете зашифровать его с помощью обфускатора, но большинство людей может его расшифровать с помощью программы красоты. Однако проверить это:
OBFUSCATOR можно легко расшифровать –
То, что я написал :) –
если мы используем facebook login в angularjs.how, чтобы скрыть учетные данные –
, хотя это не вполне ясно из небольшого кода при условии, защищая его от консоли браузеров прямо вперед IF мы только говорить о ком-консоли .logging значение (как ваш вопрос, кажется, намекнуть).
вы можете поместить его внутрь крышки, что-то вроде откровенном/модульного шаблона:
var app = (function() {
var Speaker = "something";
// only available on app declaration as the function is immediately called
return // some object/function protecting the speaker value
})();
console.log(Speaker); // gives an error
console.log(app.Speaker); // gives an error
Это, конечно только останавливает кто-то использует основные инструменты Dev как console.log, это не остановит кого-то добавление точек останова. природа javascript, я боюсь
Я имею в виду использование метода проверки браузера, мы можем просмотреть код js –
Я вижу, тогда, как говорили другие, нет, он не может быть скрыт. если браузер не видит его, он не может его запустить. сказав, что все, что безопасно, как пароль, должно/должно быть зашифровано в любом случае. здесь лучше использовать серверное решение. возможно, если проблема была описана, мы можем лучше понять цель – atmd
в случае использования угловых символов в интерфейсе, как это можно защитить –
В Javascript нет способа скрыть содержимое переменной, не отменяя эту переменную, что бесполезно для вас, если вам нужно ссылаться на то, что это значение было позже. Несколько вариантов на выбор, в зависимости от того, что именно вам нужно было бы это:
хеширования значения
Вы могли бы имеет значение с MD5 или SHA. Таким образом, пользователь не знает, что это значение, но вы все равно можете отправить его на сервер и сохранить его таким образом
магазин значение на сервере
Вы можете хранить значение на сервер и ссылаться на него с помощью своего рода ключа. Таким образом, пользователь никогда не видит фактическое значение, они просто проверяют сервер, чтобы узнать, совпадает ли его значение с тем, что имеет сервер.
Если это пароль, который генерируется, и мы никогда не хотим, чтобы он его видел, лучше всего обработать все это на сервере, таким образом, нет никакой возможности, чтобы пользователь когда-либо имел значение на стороне клиента.
Код Javascript считается умеренным, поэтому вы не можете скрыть пароль в своем коде. Лучшей практикой является использование oAuth2, который использует временные токены (для отсрочки от passwortds), которые в сочетании с такими вещами, как CSRF, могут сделать ваш код на стороне клиента более безопасным. Вот библиотека one, которая может помочь вам сделать это в JS. Это требует, чтобы на вашей стороне сервера при доступе к ресурсам вам нужно было проверить этот токен (желательно при каждом вызове). Кому-то, если вам нужно сохранить пароль в браузере, чтобы войти на сервер - нет. Позвольте пользователю войти в систему, а затем использовать проблемы маркера на сервере или использовать сторонний вход и использовать маркер, полученный с стороннего сервера аутентификации.
кажется, что это не настоящее решение, спасибо за отзыв –
Хороший вопрос, даже если бы я столкнулся с такой ситуацией, когда мой ключ API и токен аутентификации были видны на стороне клиента. Лучше всего использовать файл Javascript на стороне клиента. Вы можете использовать UglifyJS для обфускации клиентского кода. А также должны быть разрешения на стороне сервера для создания и удаления объектов.
Если var Speaker = "password";
жестко закодирован где-то в вашем клиентском коде, вам не повезло. См.: Password encryption at client side и Howto hide Credentials in a pure Javascript HTML Web App и Is it worth hashing passwords on the client side, потому что каждый скажет, что не следует скрывать/обфускать пароль на стороне клиента.
Однако, если вы на самом деле, действительно просто хотите удалить пароль вообще из вашего кода клиента, а затем использовать серверный скрипт для «прокси» ваш запрос AJAX и молча добавить пароль, параметр POST (например) в пути к истинному адресату. См Angular REST API security
Если вы твердо уверены в использовании своего рода шифровании на стороне клиента, я нашел angularjs-crypto, который является «AngularJS модуль для decrytion/шифрования JSON в HTTP-запросов/ответов». Он основан на crypto-js. Однако я все же решительно против ввода жесткого пароля и шифрования его на стороне клиента.
, похоже, это не настоящее решение, спасибо за отзыв –
Мы по-прежнему можем вам помочь.Нам просто нужно больше деталей о том, что вы действительно хотите сделать. В противном случае используйте прокси-сервер сервера, чтобы добавить пароль в пути. – Drakes
Я хочу передать заголовки и другие учетные данные, такие как клавиши приложения facebook и т. Д. –
Вы не можете, единственное, что вы можете сделать, это хэш пароля, вы можете использовать MD5. – jcubic
Единственный способ сохранить ключ безопасности - это сохранить его на стороне сервера через что-то вроде php. – Grallen
@jcubic Я хочу узнать другие возможности iam, используя приведенный выше код в angularjs –