我们真的需要隐藏js(jquery)代码吗?

时间:2012-09-29 17:08:33

标签: javascript security

我意识到我们可以通过 Inspect element>在浏览器中查看JS代码。来源等。例如,我有以下代码,可以在“source”下查看。

$.ajax({
    url: baseUrl + 'location/insert_user_location',
    type: "post",
    data: {address:address,lat:lat,lng:lng,acc:acc},
}).done(function(){
    getUserLocation();
});

这是不安全的,还是甚至不重要?

5 个答案:

答案 0 :(得分:3)

我不明白为什么这可能不安全,但你必须时刻记住,在客户端发送或计算的每件事情都可能不安全,你可能不相信这些数据而不验证它永远有效......

答案 1 :(得分:3)

不确定您可以做多少隐藏Javascript。即使你在传输过程中“加密”或以某种方式模糊它,最终还是要明确javascript解释器使用它,这几乎可以肯定是某种开发人员或其他工具所看到的。如果它是敏感数据,我只是避免将其放入代码中,如果它是一个重要的问题。

答案 2 :(得分:3)

不,这不是不安全的,因为您的location/insert_user_location URI在服务器端得到了正确保护,对吧?出于同样的原因,您不应该信任客户端表单验证,并且始终在服务器端执行相同的验证。

无法在客户端“隐藏”JavaScript。无论隐藏得多深,多么混淆,黑客总能分析它。

答案 3 :(得分:3)

vzhen,任何人都可以看到您的JavaScript代码,如果您在浏览器中将其返回给用户。只要您不将私人信息(例如用户密码或API密钥放在javascript中)并且从不信任客户端,就没有任何安全问题。

这意味着您不应该信任可能通过Ajax发送到服务器的任何内容。

答案 4 :(得分:1)

在这种情况下,客户端验证是您的朋友。我不会过分担心您的客户端代码 - 将其视为暴露给所有人抓住。除了将您的努力投入到服务器和代码库安全性之外,跨站点脚本编写将是一个问题。