用户不应该既不能下载javascript代码/文件也不能下载css文件

User should not be able neither to download javascript code/file nor to download css file

本文关键字:文件 下载 也不能 css 代码 javascript 不应该 不能 用户      更新时间:2023-09-26

我正在开发一个web应用程序的java,我需要有一种功能,每当任何用户试图查看页面的来源或试图保存整个页面从filemenu ->保存为选项,用户不应该得到javascript代码,也不应该能够得到css代码。

通常,当javascript代码在单独的。js文件中完成,css代码在。css文件中完成,包括在页面中,当用户试图保存页面时,所有这些完整的(js, css,…)文件都被下载,用户很容易看到。

在这种情况下,用户可以很容易地检查。js文件中执行的所有类型的验证。这里我有一个要点来解它。

有谁能帮我一下吗?

简单来说,这是不可能实现的"Period"

充其量,你可以混淆你的javascript混淆你的css,但它总是可以逆向工程。你不能做得更好,因为浏览器需要——而且已经——下载它来把它解释为一个网页。

如果你使用它来使你的协议更安全,这是一个糟糕的选择:所有的检查必须在服务器端完成

不要在这方面浪费太多时间来对付你的用户,只需要在服务器端安全方面工作,并为你的用户提供更好的体验。

简而言之,这是不可能的-因为加载到客户端*.js, *.css,图像等是浏览器-服务器通信的一部分。但是如果你提供了一些独特的算法,你可以在服务器端放置复杂的逻辑,所以js对最终用户来说没有专利或其他价值。

另一个选项审查使用模糊SWF (Flash技术)的可能性

这是不可能的,如果客户端必须运行javascript,它必须下载它,而你无法控制它不能下载。在任何情况下,用户都可以看到缓存、嗅探数据包、转储应用程序内存……查看代码的方法有很多种。CSS也是如此。您只能使代码模糊,使其可读性降低,但它只需要多花一点时间来阅读。

考虑验证应该总是在服务器端完成,使用javascript的客户端验证只会使页面更友好,而不会浪费用户时间来提交错误的表单。

没人能帮你。

这是不可能的。

我可以打开Chrome,点击CTRL + SHIFT + J,然后得到关于任何创建网页的各种信息,而不是Flash-data, java -applet或Silverlight。

我可以下载你所有的JavaScript,或者把JavaScript注入你的页面。
或者,我可以完全跳过JavaScript,使用PHP向服务器发送GET/POST请求。

你的要求是不可能的。


JavaScript的全部意义在于它是客户端代码。

一旦发送给客户端,客户端就拥有了对它的控制权。
没有方法来防止人们保存JS,如果JS必须由客户端使用。你无法阻止客户端扰乱你的JS。

所有这些对你的CSS也很重要:它被发送到客户端,所以它不受你的控制。

永远不要依赖JavaScript来进行验证 。规避JS验证非常容易:

用户可以:

  • 禁用事件侦听器,或者整个验证过程,
  • 更改验证函数,使其始终返回"is valid",
  • 发送任何数据到服务器,
  • 等。