【发布时间】:2013-03-04 01:28:33
【问题描述】:
我想知道我们如何在 javascript 控制台中隐藏一个函数,以使其无法被调用。
为了让您更好地理解问题,假设我有一个 javascript 函数,它使用 Ajax 在数据库中添加一些记录,其他任何人都可以从控制台使用此函数在数据库中添加任意数量的记录。我希望从 Web 应用程序而不是从控制台调用该函数...我试图混淆代码以隐藏它,但我们仍然可以从 Google Chrome javascript 控制台找到该函数。
【问题讨论】:
-
您可以像您所做的那样进行混淆,但是不,您不能从客户端完全“隐藏”客户端功能(您可以使其安全,幂等等,但仅此而已在实现中,无关)。
-
没办法,即使有可能,你仍然可以用浏览器或特定工具模拟请求。
-
客户端没有 JavaScript 安全性。您需要在服务器上实施任何安全措施。
-
如果无法全局/公开访问,您应该无法从控制台运行函数。那个功能在哪里?它可以像将所有内容包装在 IIFE 中一样简单。
-
所有人所要做的就是查看您的 AJAX 调用通过网络发送的内容,并制作自己的 javascript 来发送该 ajax。你不能用默默无闻来阻止这种情况。
标签: javascript ajax function console hide