javascript - 如何将 JavaScript 脚本文件设为私有(private)?

标签 javascript html scripting

我想知道如何让访问我网站的用户看不到 JavaScript 脚本文件。

让我详细说明一下:

有时,在我的 Javascript 中,我有一些我不希望其他人看到的诸如 Firebase 之类的配置信息。如果有人拥有该信息,他们可能会获取该信息并在本地主机上运行它并弄乱我的数据。我需要在我的网站 Javascript 上拥有私有(private)配置信息,否则该网站将无法工作。但如果其他人看到该脚本,那么他们可以复制它并在自己的网站上使用它,这会弄乱一切。我想知道如何制作私有(private)脚本。

如果这是不可能的,那也没关系。我只是想知道接下来我应该做什么。

以下是我尝试过的一些方法:

<!DOCTYPE html>
<html>

<head>
  <script>
    // config information
  </script>
</head>

<body></body>

</html>

但这行不通。通过检查元素,用户可以轻松找到它。

另一个想法是这样的:

<script src="js/config.js"></script>

但这也没有帮助,用户只需检查元素,然后右键单击链接并说“在源面板中显示脚本”

我应该做什么?

如果无法将脚本设为私有(private),请告诉我。我只是想知道我应该做什么。

最佳答案

所有客户端资源(例如 HTML、CSS、JS、图像和其他文件)都应该是公开的。您可以通过向 .htaccess 添加条目来隐藏该文件,例如:

RewriteEngine on
RewriteRule \config.js$ - [R=404]

但在我看来这没有意义,运行您的应用程序可能需要此文件。提供给客户端应用程序的所有文件都是公开的。不要将敏感数据保存在JS文件中,您可以将敏感信息保存在后端siede的配置文件中,但不能与客户端应用程序共享。

关于javascript - 如何将 JavaScript 脚本文件设为私有(private)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51129385/

相关文章:

python - 编写一个 python 脚本,从基于任何类的 HTML 中找出 XPath

javascript - Array.push throw TypeError for array.push is not a function

javascript - 在 Angular 中使用 Protractor 单击时禁用断言按钮

javascript - 将鼠标悬停在另一个不相关类的子类上时如何更改一个类的 css?

html - 带文本的居中图标

ruby - Ocra 在打包脚本时抛出错误

javascript - 无法访问我的 Controller Angular.js 1.3 中的属性

javascript 下拉菜单在点击时激活,在外部点击时不激活

css - 为什么我的背景在这个简单的例子中定位错误

asp.net - asp.net 应用程序的脚本引擎