我正在开发Chrome扩展,绝对需要使用最新代码运行。
现在,这是一个问题,我不太确定如何解决,而不是eval()
类似的功能。
我设计它是通过HTTPS从服务器获取最新的脚本,然后使用new Function()
执行它
对于每个用户使用最新代码进行扩展运行绝对是最重要的,并且Google管理的更新无法解决该问题,因为它们通常会延迟或需要用户手动更新。
CSP只允许从我指定的域执行脚本,但我也使用unsafe-eval
,尽管我可以使用哈希编码这些脚本以提高安全性。
脚本需要访问页面DOM和chrome.*
API。我不能在弹出窗口中将它们指定为script src
,因为那不是重点。
这个问题有更好的解决方案吗?