为了使用javascript函数,我必须使用json数组,但是我希望能够遮盖DOM中的信息。
下面是一个示例:
<script>
var arrayC = [{"id":null,"name":"Name","title":"Title"}];
..... function
</script>
我希望arrayC被遮盖,这可能吗?我在网上搜索,但找不到任何东西,您能帮我吗?谢谢
答案 0 :(得分:4)
脚本执行后,.remove()
包含<script>
标签:
<script>
var arrayC = [{"id":null,"name":"Name","title":"Title"}];
console.log('doing something...');
document.currentScript.remove();
</script>
Right click and Inspect me!
请注意,这不会阻止用户看到代码-他们仍然可以在页面源代码中看到它。这只会将其从DOM中删除。
如果您还想阻止arrayC
填充全局对象,请将整个脚本放入IIFE,或使用const
或let
代替var
:< / p>
(() => {
var arrayC = [{"id":null,"name":"Name","title":"Title"}];
console.log('doing something...');
document.currentScript.remove();
})();
应该从客户端保守秘密的数据绝不应该首先发送到他们的计算机。不管您如何伪装,如果将其发送给客户,他们都可以通过某种方式弄清楚。
答案 1 :(得分:0)
为什么不使用外部脚本文件,而是直接在html页面中编写脚本。为此,只需创建一个javascript文件(扩展名为.js),然后将该文件包含到此html中即可。
<script type="text/javascript" src="<filename>.js"></script>
直接扩展到某些扩展将不会显示。如果不想显示较高的安全性,请将其转换为json字符串,并在服务器端进行加密和解密。并将该encrpted变量分配给js变量,因此它将始终在javascript中的源文件上显示加密的字符串。