如何区分代码内javascript和客户端javascript

如何区分代码内javascript和客户端javascript,javascript,client-side,Javascript,Client Side,我知道javascript是一种客户端语言,但我正在试图找到一个答案,即实际代码中嵌入的javascript代码是否与控制台上运行的代码有所不同。让我用一个例子来解释: 我想像MixPanel一样创建一个分析工具。MixPanel使用javascript函数MixPanel.track(“string etc”)进行所有跟踪。假设我有一个叫莫名其妙的网站。在movey.com的代码中,我经常使用mixpanel.track(“”函数通过mixpanel跟踪我的页面。但是当我打开控制台(比如说从C

我知道javascript是一种客户端语言,但我正在试图找到一个答案,即实际代码中嵌入的javascript代码是否与控制台上运行的代码有所不同。让我用一个例子来解释:


我想像MixPanel一样创建一个分析工具。MixPanel使用javascript函数
MixPanel.track(“string etc”)
进行所有跟踪。假设我有一个叫莫名其妙的网站。在movey.com的代码中,我经常使用
mixpanel.track(“”
函数通过mixpanel跟踪我的页面。但是当我打开控制台(比如说从Chrome上),当浏览器中打开movey.com并键入
mixpanel.track(“whatssup”)
时,这个跟踪也是有效的,mixpanel也会跟踪这个。这对于我来说是不可接受的,但我非常希望使用javascript,因为如果使用javascript,就不需要其他库。有办法做到这一点吗?

客户端代码不安全,您无法控制如何修改或运行它。它是客户端的,客户端可以做任何它想做的事情(有一个熟练的黑客)。安全或防止滥用始终必须在服务器端完成


要让我们提供更多帮助,您必须详细描述您真正想要保护的内容。

您无法检测JavaScript是否从控制台运行。即使您可以,用户可以很容易地将脚本插入页面本身。从长远来看,这将是一种干扰,对跟踪统计数据的影响应该可以忽略不计。不要浪费时间担心它,这是不可靠的。你可以让代码发送一个“隐藏的”密钥,但该密钥不会隐藏到使用开发工具无法发现的程度。你希望防御的攻击模型是什么?为什么网络总是以“不可接受”的方式运行?