存储javascript的更安全的方法是什么?

存储javascript的更安全的方法是什么?,javascript,asp.net,xaml,Javascript,Asp.net,Xaml,例如:我需要防止更换js。什么是更安全的存储方式?在页面xaml中还是在单独的.js文件中? 我认为可以在浏览器缓存中替换.js文件。但是页面代码中的js更难替换。这是一场无法取胜的战斗——主要是因为有像Greasemonkey这样的浏览器插件,它们的创建正是为了更改页面上执行的脚本 由于JavaScript在客户端上运行,因此您无法阻止用户修改它、跳过某些函数等。始终在服务器上重新验证数据和任何计算。没有安全的方法将JavaScript存储在浏览器中,因为JavaScript并不安全,它是用户

例如:我需要防止更换js。什么是更安全的存储方式?在页面xaml中还是在单独的.js文件中?
我认为可以在浏览器缓存中替换.js文件。但是页面代码中的js更难替换。

这是一场无法取胜的战斗——主要是因为有像Greasemonkey这样的浏览器插件,它们的创建正是为了更改页面上执行的脚本


由于JavaScript在客户端上运行,因此您无法阻止用户修改它、跳过某些函数等。始终在服务器上重新验证数据和任何计算。

没有安全的方法将JavaScript存储在浏览器中,因为JavaScript并不安全,它是用户可以访问的。你能做的最好的就是你的JS,这使得阅读或解释变得困难。然而,这并不是说它“安全”,因为有一些工具可以逆转这个过程。事实是,你打了一场失败的仗,接受了你无法确保它安全的事实,这是迈向正确解决方案的第一步。詹姆斯,这有点像JS缩小吗?@AsTi,然而,缩小和模糊不一样(尽管它们通常是齐头并进的)。模糊处理是重命名变量、方法名称等的过程,以减少有人对实际发生的事情有任何感觉的机会。如果他们无法理解脚本,那么他们就很难用恶意的方式“替换”它。因此,现在有办法防止在js中处理的用户凭据被盗?@AsTi-不要在js中存储任何类型的凭据(永远)。如果需要对AJAX请求进行身份验证,可以将身份验证票证存储在cookie中(如果它在同一个域上),或者使用某种联邦身份验证。但如果我需要检查用户通过JS输入的内容,有人替换了这个JS并嗅探用户输入,该怎么办?@AsTi-这(网络嗅探器、键盘记录器等)与被替换的JavaScript文件有什么关系?例如:如果有人在JS中添加了一个保存用户输入并使用POST发送给攻击者的函数?