Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检查加载的Javascript代码的完整性_Javascript - Fatal编程技术网

如何检查加载的Javascript代码的完整性

如何检查加载的Javascript代码的完整性,javascript,Javascript,我运行一个比特币钱包,它使用浏览器端Javascript加密和解密比特币密钥 我想让javascript在Github上可供查看,然后从Github存储库加载javascript 我的问题是我需要检查加载的Javascript的完整性,以确保在Github上没有篡改 我怎样才能做到最好?会是什么样子的吗 使用ajax调用加载远程Javascript MD5哈希和比较 如果状态良好,执行它 现在有(或很快就会有)一个优雅的方法来实现这一点(在问题提出两年后) 现在可以在脚本标记内指定“完整性”参

我运行一个比特币钱包,它使用浏览器端Javascript加密和解密比特币密钥

我想让javascript在Github上可供查看,然后从Github存储库加载javascript

我的问题是我需要检查加载的Javascript的完整性,以确保在Github上没有篡改

我怎样才能做到最好?会是什么样子的吗

  • 使用ajax调用加载远程Javascript
  • MD5哈希和比较
  • 如果状态良好,执行它
  • 现在有(或很快就会有)一个优雅的方法来实现这一点(在问题提出两年后)

    现在可以在脚本标记内指定“完整性”参数:

    <script src="https://github.com/<path>/yourscript.js"
            integrity="sha256-SDf......">
    
    
    

    这对于通过AJAX请求加载的脚本不起作用。但是,您可以潜在地将脚本引用为指向CDN的脚本标记(最好不要直接指向github)

    客户机是否会干扰校验和计算功能本身?可能会将代码存储在另一台服务器上。只有您才能访问的CDN。这样你就可以确定它是好的。在检查客户端是否可用时,这有多重要?我很确定你知道客户端实际上在任何方面都不安全。完整性检查实际上必须由服务器端脚本完成,然后将其反馈给JavaScript,否则您将面临巨大的安全问题。在浏览器中运行的任何内容都可能被篡改。可以直接下载,也可以使用加载了扩展或附加组件的脚本。我非常确定,明确不鼓励使用github作为CDN。