Как замаскировать URL в javascript?

Допустим, у меня есть URL как часть скрипта веб-страницы, например:

<script>
var url = "http://www.example.com";
</script>

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

Но я ищу легкий способ замаскировать это, чтобы люди не могли просто просмотреть / щелкнуть это легко с помощью view:source.

3 ответа

Посмотрите документы MDN, вы можете использовать base64:

// Encoding
var encoded = btoa(stringValue);

// Decoded
var decoded = atob(stringValue);

Легко декодируется любым, кто знает, как получить доступ к консоли браузера.

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

Прежде всего:

Это НЕ безопасно, и я НЕ рекомендовал бы это для чего-либо связанного с безопасностью.

Но если вам нужно сделать это:

Вы можете использовать javascript obfuscator, который в основном делает ваш код нечитаемым, пока он все еще работает как я.

Помните, что нечитаемый не равен Undecodable.

Оказывается ваш JavaScript:

var url = "http://www.example.com";

В:

var _0x5386=["\x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x65\x78\x61\x6D\x70\x6C\x65\x2E\x63\x6F\x6D"];var url=_0x5386[0]

Который на 100% тот же код, просто нечитаемый:

var _0x5386=["\x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x65\x78\x61\x6D\x70\x6C\x65\x2E\x63\x6F\x6D"];var url=_0x5386[0]

console.log(url); // http://www.example.com

Еще посмотрите на ответ Ника Булла, если вы хотите закодировать URL, но это все равно оставит ваш URL читаемым невооруженным глазом, если вы читаете код JavaScript.

Этот метод также имеет слабое место в окне консоли, поскольку любой может просто ввести переменную "url" и получить URL.

В общем, этот метод не оставит ваш URL в открытом тексте, но у него есть тот же недостаток консоли, что и у ответа Ника Булла.

Но опять же, это НЕ безопасно.

Другие вопросы по тегам