cef对本地web资源打包加密
cef中最简单的打开页面方法是指定一个url或者本地路径。在使用cef开发客户端时,多数情况是写好了web页面,把web资源放到本地来使用。而js文件中很可能会暴露一些接口或者重要数据,为了保护这些数据需要把web资源加密。例如网易云音乐一类的客户端都是这样做的
这个问题其实就是资源重定向的问题,把cef请求的资源重定向到自己解密出来的数据处。资源重定向需要处理cef里面的OnBeforeResourceLoad、GetResourceHandler接口
翻了翻cef2623的demo,发现其实cef自身已经有了相关的功能。即CefResourceManager,创建一个CefResourceManager对象,调用AddArchiveProvider方法,可以添加一个加密zip文档作为资源来源。然后在OnBeforeResourceLoad、GetResourceHandler接口中调用CefResourceManager对象对应名称的接口,就可以直接使用加密zip中的资源了,很简单
同时CefResourceManager提供了AddDirectoryProvider方法来把某个目录作为资源来源,也可以调用AddProvider来自定义一个资源来源。在调用这些方式时,需要提供一个特征字符串开头的URL。比如http://test/,如果cef正在打开的url是以http://test/开头,则会从对应的资源来源里,去取资源。比如用加密zip的方式,同时尝试打开http://test/demo.html,则会从zip里查找demo.html文件并打开
CefResourceManager还提供了filter功能,可以用于过滤url,来判断那些url是需要重定向的,也可以设置重定向的位置
相关参考资料如下
(1)
https://blog.csdn.net/zhuhongshu/article/details/81484159
(2)
https://blog.csdn.net/Vincent95/article/details/77970004?locationNum=7&fps=1
(3)
https://bitbucket.org/chromiumembedded/cef/src/master/include/wrapper/cef_resource_manager.h?at=master&fileviewer=file-view-default
(4)
https://bitbucket.org/chromiumembedded/cef-project/src/master/examples/resource_manager/?at=master
相关文章
- 线程同步工具(二)控制并发访问多个资源
- [Python爬虫] Selenium+Phantomjs动态获取CSDN下载资源信息和评论
- 网页资源加载的优化方法
- unity3d进行脚本资源打包加载
- spring mvc: 静态资源/文件配置
- 资源画像,看得见的容器资源优化助手
- golang精华资源
- 【资源】108个大数据文档PDF开放下载-整理后打包下载
- php-cgi进程占用cpu资源过大原因分析及解决
- Git学习资源推荐
- 【Android 热修复】热修复原理 ( 多 Dex 打包机制 | 多 Dex 支持 | Dex 分包设置 | 开发和产品风格设置 | 源码资源 )
- IOS的UITextField,UIButton,UIWebView它描述的一些属性和IOS提示图像资源
- 打包jar文件 外部调用资源 so等
- 使用 nginx autoindex docker镜像 fancyindex 管理 公司内部的 下载资源
- y22.第二章 Docker从入门到精通 -- Cgroups和docker 的资源限制(四)
- 【云原生之kubernetes实战】kubernetes集群的Service资源对象
- 不会写K8S资源编排yaml文件?一文教会你如何掌握编写yaml文件的技巧
- FPGA - 7系列 FPGA内部结构之SelectIO -08- 高级逻辑资源之OSERDESE2
- FPGA - 7系列 FPGA内部结构之SelectIO -04- 逻辑资源之IDELAY和IDELAYCTRL