如何通过按浏览器F12保护客户端代码(javascript/jquery)免受调试/编辑

如何通过按浏览器F12保护客户端代码(javascript/jquery)免受调试/编辑,jquery,asp.net,ajax,code-access-security,Jquery,Asp.net,Ajax,Code Access Security,如果我在asp.net应用程序中使用Ajax调用方法来提交一些值,那么如何保护这些值不受通过浏览器进行客户端编辑的影响 请建议。没有办法100%保护客户端不受更改值的影响 您应该做一件简单的事情,称为模糊处理,这意味着使您的产品公共代码(客户端js)很难理解 检查我不确定我对这个问题的解释是否正确,但下面是: 如果您希望保护变量的值不被控制台等编辑或查看,那么应该通过IIFE(立即调用的函数表达式)查看作用域 发件人: 由于IIFE中的匿名函数是一个函数表达式,并且没有分配给全局变量,因此没有创

如果我在asp.net应用程序中使用Ajax调用方法来提交一些值,那么如何保护这些值不受通过浏览器进行客户端编辑的影响


请建议。

没有办法100%保护客户端不受更改值的影响

您应该做一件简单的事情,称为模糊处理,这意味着使您的产品公共代码(客户端js)很难理解


检查

我不确定我对这个问题的解释是否正确,但下面是:

如果您希望保护变量的值不被控制台等编辑或查看,那么应该通过IIFE(立即调用的函数表达式)查看作用域

发件人:

由于IIFE中的匿名函数是一个函数表达式,并且没有分配给全局变量,因此没有创建任何全局属性,并且在函数表达式中创建的所有属性都在表达式本身的局部范围内

这样,您在此函数中声明和设置的任何变量都不能简单地通过控制台工作的窗口对象进行访问。 创造了这个词,所以如果你要进一步研究这个话题,就用谷歌搜索他

如果您想保护代码中硬编码的变量(例如外部服务的登录信息?),我认为您可以通过从JS文件中删除它们来保护这些变量,而不是通过ajax从服务器请求这些值。这样做并将请求的值存储在IIFE中,同样可以保护它们

你应该问自己一个问题:“我真的需要向客户发送我不想让客户看到的信息吗?”。这样做完全违反直觉


例如,在第三方服务需要凭据的情况下:将请求发送到您自己的服务器,让您的服务器处理到第三方服务器的请求(将凭据保留在服务器端而不是客户端),然后将第三方服务器的结果返回到您的客户端。这将创建一个安全的中间人,该中间人持有敏感信息,任何访问您的网站的人都无法访问,但会带来性能成本。

在客户端执行所有操作,如果用户对其进行了调整,则不会影响任何人。在服务器端执行所有需要安全的操作。查看facebook如何保护其ajax调用。我在寻找那种想法