0

我们有一个为客户开发的 Javascript 文件。Javascript 片段截取运行它的网站的屏幕截图,然后通过 jQuery.post() 将其发送回我们的服务器

我们行业的性质意味着我们必须确保文件不会被客户篡改。

所以挑战在于我们需要确保屏幕截图是由托管在我们服务器上的 javascript 文件生成的,而不是被复制或以任何方式被篡改的文件。

我知道我可以使用以下方法获取脚本位置:

var scripts = document.getElementsByTagName("script"),
src = scripts[scripts.length-1].src;

但是,如果客户篡改了 SRC 的那一部分,这将无济于事。

我可以采用哪些方法来确保:

1) 该帖子是由我们服务器上托管的 javascript 文件制作的

2) javascript 没有以任何方式被篡改。

4

1 回答 1

4

简短的回答:

  1. 你不能。

  2. 你不能。

两者都源于这样一个事实,即一旦您将某些东西交给客户端,它就无法控制。没有什么可以阻止用户在您和他们的机器之间放置代理、拦截内容的进程或篡改内容、标题、cookie、请求、响应等的扩展。

但是,您可以通过防止 XSS(防止通过用户输入注入脚本)、使用 SSL(防止篡改连接)、应用CSP(仅允许页面上的某些内容)、添加 CSRF 令牌(确保表单由服务器授权)和其他做法,以使被篡改的内容更难通过。

但是同样,这不会阻止一个坚定的黑客找到一个机会。

于 2016-04-07T15:29:38.520 回答