Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript:隐藏密钥的内容_Javascript_Jquery - Fatal编程技术网

javascript:隐藏密钥的内容

javascript:隐藏密钥的内容,javascript,jquery,Javascript,Jquery,在下面的代码中,我想隐藏浏览器控制台正在查看的keyspeaker键的内容 var App_版本=1; var App_id=35; var扬声器=密码; 你不能隐藏javascript 你可以用模糊器对它加密,但大多数人可以用漂亮的解密器对它进行解密。但是,请查看以下内容: 虽然从提供的小代码中还不完全清楚,但是如果我们只讨论某个人的控制台,那么从浏览器控制台中保护它是直截了当的 你可以把它放在一个封闭的地方,比如一个暴露的/模块化的图案: var app = (function () {

在下面的代码中,我想隐藏浏览器控制台正在查看的keyspeaker键的内容

var App_版本=1; var App_id=35; var扬声器=密码;
你不能隐藏javascript

你可以用模糊器对它加密,但大多数人可以用漂亮的解密器对它进行解密。但是,请查看以下内容:


虽然从提供的小代码中还不完全清楚,但是如果我们只讨论某个人的控制台,那么从浏览器控制台中保护它是直截了当的

你可以把它放在一个封闭的地方,比如一个暴露的/模块化的图案:

var app = (function () {

    var Speaker = "something";
    // only available on app declaration as the function is immediately called
    return // some object/function protecting the speaker value
})();

console.log(Speaker); // gives an error
console.log(app.Speaker); // gives an error

当然,这只会阻止某人使用基本的开发工具,如console.log,它不会阻止某人添加断点。javascript的本质我恐怕

在javascript中,没有办法隐藏变量的内容而不取消变量的设置,如果您以后需要引用该值,这对您是没有用的。根据您的具体需要,您可以选择以下几个选项:

散列值

您可以使用MD5或SHA获得该值。这样,用户不知道值是什么,但您仍然可以将其发送到服务器并以这种方式存储

将值存储在服务器上

您可以将该值存储在服务器上,并使用某种密钥引用它。这样,用户就看不到实际值,他们只是检查服务器,看看他们拥有的值是否与服务器拥有的值匹配


如果这是一个正在生成的密码,并且我们不希望用户看到它,那么最好的办法就是在服务器上处理所有这些,这样用户就不可能在客户端拥有该值。

Javascript代码被认为是可调节的,因此您不能在代码中真正隐藏密码。 最好的做法是使用oAuth2,它使用临时令牌来延迟passwortds,与CSRF之类的东西结合使用可以使客户端代码更安全。这里的库可以帮助您在JS中实现这一点。它确实要求在服务器端访问资源时,最好在每次调用时验证该令牌。
对于某些人来说,如果你需要在浏览器上存储密码以便登录到服务器,请不要这样做。让用户登录,然后由服务器使用令牌问题,或者使用第三方登录并使用您从第三方身份验证服务器获得的令牌。

即使我遇到过这样的情况,我的API密钥和身份验证令牌在客户端可见。混淆客户端Javascript文件是最好的选项 您可以使用UglifyJS混淆客户端代码。 而且服务器端必须有创建和删除对象的权限。

如果var Speaker=password;如果你的客户代码中有硬编码,你就不走运了。请参阅,因为每个人都会说不要在客户端隐藏/混淆密码

但是,如果您真的、真的只想从客户机代码中完全删除密码,那么可以使用服务器端脚本来代理AJAX请求,并以静默方式将密码添加为POST参数,例如在传输到真实目的地的过程中。看


如果您坚持在客户端使用某种加密,我发现了一个AngularJS模块,用于在HTTP请求/响应中对JSON进行解密/加密。它是基于。然而,我仍然强烈反对使用硬编码密码并在客户端对其进行加密。

您不能隐藏javascript。
但是您可以使用模糊处理程序和其他工具对它们进行加密

使用jwt我们可以对数据进行加密。试试这个

不行,您唯一能做的就是对密码进行哈希运算,您可以使用MD5。确保密钥安全的唯一方法是通过类似php的方式将其留在服务器端。@jcubic我想知道我在AngularJS中使用上述代码的其他可能性。如果您有可由浏览器执行的javascript,那么任何使用您的页面的人都可以查看并查看它是什么。如果你想保密,就不要把它们发送给客户机。@dandav它也很容易查看吗?我是说,使用浏览器检查方法,我们可以查看js代码。我看到了,然后正如其他人所说,不,它不能隐藏。如果浏览器看不到它,则无法运行它。话虽如此,任何像密码这样安全的东西都应该/将被加密。在这里,服务器解决方案是更好的方法。也许如果问题被描述出来,我们可以更好地理解在前端使用angularjs的目的,如何确保它的安全呢?你想得到什么?全部代码?如果您不想让人们看到创建应用程序的代码,那么flash是一个很好的选择,或者叫javaFX,但肯定不是JavaScription,但是有很多工具可以获取这些信息,而不管javascript代码是什么。如果您试图保护帖子信息,那么这是一个非常不同的问题。是
你使用ssl?混淆器可以很容易地解密正如我所写的:如果我们使用angularjs中的facebook登录。如何隐藏证书这似乎不是实际的解决方案,谢谢你的提示我们仍然可以帮助你。我们只需要你真正想做的更多细节。否则,使用服务器脚本代理在传输过程中添加密码。编写一些代码。把它放在小提琴里。我们来看看。这似乎不是实际的解决方案,谢谢你的提示