将编码后的 Javascript 放入 HTML 页面
Place the encoded Javascript in HTML page
这是一个包含脚本的 HTML 页面。 HTML 页面中的此脚本是纯文本。我想知道如何将此脚本与 base64 编码放在 html 页面中。 HTML 文件:-
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript</h1>
<p id="demo"></p>
<script>
var pi = 3.14;
document.getElementById("demo").innerHTML = pi;
</script>
</body>
</html>
脚本是:-
<script>
var pi = 3.14;
document.getElementById("demo").innerHTML = pi;
</script>
脚本的Base64编码:-
PHNjcmlwdD4NCnZhciBwaSA9IDMuMTQ7DQpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVtbyIpLmlubmVySFRNTCA9IHBpOw0KPC9zY3JpcHQ+
这样做会
- 增加脚本的大小,因为 base64 会增加数据大小
- 提供几乎零安全性好处(或任何明显的好处,就此而言),因为用户可以像编码脚本一样轻松地解码脚本
如果您有兴趣降低脚本的编码效率而没有明显的好处,您可以通过对脚本进行 base64 编码来实现(不,包括 <script>
标签)并将其包含为 data:
URL:
<script src="data:text/javascript;base64,dmFyIHBpID0gMy4xNDtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVtbyIpLmlubmVySFRNTCA9IHBpOw=="></script>
这并没有真正提供任何混淆的好处,因为将 data:text/javascript;base64,dmFyIHBp...
URL 粘贴到您的地址栏会显示解码的文本。
或者,您可以将其传递给 atob
进行解码,然后传递给 eval
:
<script>
eval(atob("dmFyIHBpID0gMy4xNDtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVtbyIpLmlubmVySFRNTCA9IHBpOw=="));
</script>
同样,这不会带来任何安全优势,因为任何用户都可以使用 eval
轻松地 运行 此代码并查看解码后的文本。
这是一个包含脚本的 HTML 页面。 HTML 页面中的此脚本是纯文本。我想知道如何将此脚本与 base64 编码放在 html 页面中。 HTML 文件:-
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript</h1>
<p id="demo"></p>
<script>
var pi = 3.14;
document.getElementById("demo").innerHTML = pi;
</script>
</body>
</html>
脚本是:-
<script>
var pi = 3.14;
document.getElementById("demo").innerHTML = pi;
</script>
脚本的Base64编码:-
PHNjcmlwdD4NCnZhciBwaSA9IDMuMTQ7DQpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVtbyIpLmlubmVySFRNTCA9IHBpOw0KPC9zY3JpcHQ+
这样做会
- 增加脚本的大小,因为 base64 会增加数据大小
- 提供几乎零安全性好处(或任何明显的好处,就此而言),因为用户可以像编码脚本一样轻松地解码脚本
如果您有兴趣降低脚本的编码效率而没有明显的好处,您可以通过对脚本进行 base64 编码来实现(不,包括 <script>
标签)并将其包含为 data:
URL:
<script src="data:text/javascript;base64,dmFyIHBpID0gMy4xNDtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVtbyIpLmlubmVySFRNTCA9IHBpOw=="></script>
这并没有真正提供任何混淆的好处,因为将 data:text/javascript;base64,dmFyIHBp...
URL 粘贴到您的地址栏会显示解码的文本。
或者,您可以将其传递给 atob
进行解码,然后传递给 eval
:
<script>
eval(atob("dmFyIHBpID0gMy4xNDtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVtbyIpLmlubmVySFRNTCA9IHBpOw=="));
</script>
同样,这不会带来任何安全优势,因为任何用户都可以使用 eval
轻松地 运行 此代码并查看解码后的文本。