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