假设我有一个URL作为网页脚本的一部分,如下所示:
<script>
var url = "http://www.example.com";
</script>
我不希望人们能够轻松阅读此网址。显然,我意识到一旦它遇到客户端,他们就能够对我的代码进行逆向工程。
但我正在寻找一种轻量级的方式来掩盖这一点,以便人们不能只使用view:source来轻松查看/点击它。
答案 0 :(得分:1)
Jscrambler是我找到的最佳选择。您还可以添加其他安全层,以使逆向工程变得不可行,并使代码检测调试。
答案 1 :(得分:0)
请参阅MDN docs,您可以使用base64:
// Encoding
var encoded = btoa(stringValue);
// Decoded
var decoded = atob(stringValue);
任何知道如何访问浏览器控制台的人都可以轻松解码。
答案 2 :(得分:-1)
首先:
这是不安全,我会不推荐这个与安全相关的内容。
但如果你必须这样做:
您可以使用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
如果您想对网址进行编码,请查看Nick Bull的答案,但如果您阅读javascript代码,这仍然会让您的网址可读。
此方法也存在控制台窗口的弱点,因为任何人都可以输入变量“url”并接收网址。
总而言之,这种方法不会将您的网址保留为纯文本,但它确实具有与Nick Bull的答案相同的控制台缺陷。
但同样,这是不安全。