我们有一个我们为客户开发的Javascript文件。 Javascript片段截取其运行的网站的屏幕截图,然后通过jQuery.post()将其发送回我们的服务器
我们行业的本质意味着我们必须确保客户无法对文件进行篡改。
所以挑战在于我们需要确保截图是由我们服务器上托管的javascript文件生成的,而不是以任何方式复制或潜在篡改的文件。
我知道我可以使用以下方式获取脚本位置:
var scripts = document.getElementsByTagName("script"),
src = scripts[scripts.length-1].src;
但如果客户篡改了SRC的那部分,这将无济于事。
我可以采用哪些方法来确保:
1)帖子是由我们服务器上托管的javascript文件制作的
2)javascript没有以任何方式被篡改。
答案 0 :(得分:4)
简短回答:
你不能。
你不能。
两者都源于这样一个事实:一旦你将某些东西移交给客户端,它就会失控。什么都不会阻止用户在您和他们的机器之间放置代理,这个过程拦截内容,扩展名,篡改内容,标题,cookie,请求,响应等。
但是,您可以通过阻止XSS(防止通过用户输入注入脚本),使用SSL(防止篡改连接),应用CSP(仅允许页面上的某些内容)来强化您的应用,添加CSRF令牌(确保表单由服务器授权)和其他做法,以使篡改内容更难以通过。
但同样,这不会阻止坚定的黑客找到一个空缺。