0

我正在Java上开发一个Web应用程序,我需要具有某种功能,每当任何用户尝试查看页面的源代码或尝试从文件菜单保存整个页面 - >另存为选项时,用户都不应该获取javascript代码也不应该能够得到css代码。

通常,当在单独的 .js 文件中完成 javascript 代码和在 .css 文件中并包含在页面中的 css 代码时,当用户尝试保存页面时,所有这些整个(js、css、...)文件都会被下载并且用户可以轻松看到那。

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

谁可以帮我这个事 ???

4

6 回答 6

2

简单来说,这是不可能实现的“时期”

于 2012-12-28T09:24:32.403 回答
1

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

如果您使用它来使您的协议更安全,那么这是一个糟糕的选择:所有检查都必须在 server-side 完成

不要浪费太多时间试图在这方面对抗您的用户,只需处理服务器端安全性并为您的用户提供更好的体验。

于 2012-12-28T09:24:57.907 回答
0

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

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

于 2012-12-28T09:26:10.940 回答
0

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

考虑到验证应该始终在服务器端完成,使用 javascript 的客户端验证仅用于使页面更加用户友好,并且不会浪费用户时间提交错误的表单。

于 2012-12-28T09:26:16.003 回答
0

没有人能帮你解决这个问题。

这是不可能的。

我可以打开 Chrome,点击CTRL + SHIFT + J然后获取有关创建网页的任何内容的各种信息,不是 Flash 数据、Java 小程序或 Silverlight。

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

于 2012-12-28T09:26:30.287 回答
0

你问的是不可能的。


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

一旦你将它发送给客户端,客户端就可以控制它。如果 JS 必须由客户端使用,则无法阻止人们保存
JS您无法阻止客户端弄乱您的 JS。

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

永远不要依赖 JavaScript 进行验证。绕过 JS 验证非常容易:

用户可以:

  • 禁用事件侦听器,或完全禁用整个验证过程,
  • 更改验证函数,使其始终返回“有效”,
  • 只需将他们喜欢的任何数据发送到服务器,
  • 等等
于 2012-12-28T09:35:30.987 回答