[发明专利]基于JavaScript hook的新型WEB在线代理方法在审
申请号: | 202010662640.4 | 申请日: | 2020-07-10 |
公开(公告)号: | CN111814085A | 公开(公告)日: | 2020-10-23 |
发明(设计)人: | 杨洋;李金祥;龚致 | 申请(专利权)人: | 四川长虹电器股份有限公司 |
主分类号: | G06F16/955 | 分类号: | G06F16/955;G06F9/455;G06F8/61;H04L29/08 |
代理公司: | 四川省成都市天策商标专利事务所 51213 | 代理人: | 陈艺文 |
地址: | 621000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 javascript hook 新型 web 在线 代理 方法 | ||
1.一种基于JavaScript hook的新型WEB在线代理方法,其特征在于,假设用户访问WEB在线代理网站是a.com,并在代理网站页面上访问目标网站b.com,选用客户端的ServiceWorker的API来实现客户端的JavaScript hook;具体包括以下步骤:
步骤1、当用户首次访问代理网站a.com时,不管访问什么路径,都返回包含ServiceWorker安装脚本的页面;
步骤2、Service Worker在客户端安装成功后接管当前站点产生的所有HTTP(S)请求,将非a.com请求的Url进行替换使得其他流量都经过代理服务器;
步骤3、后端代理服务器利用openresty进行反向代理,并处理返回头解决跨域的问题。
2.根据权利要求1所述的基于JavaScript hook的新型WEB在线代理方法,其特征在于,Service Worker的安装过程如下:
客户端的Service Worker通过安装页面的navigator.serviceWorker.register()进行注册,然后再进行安装和激活,至此Service Worker安装完毕,接管当前站点产生的所有HTTP(S)请求。
3.根据权利要求2所述的基于JavaScript hook的新型WEB在线代理方法,其特征在于,当前站点产生的所有HTTP(S)请求包括浏览器地址栏的访问请求。
4.根据权利要求1所述的基于JavaScript hook的新型WEB在线代理方法,其特征在于,在步骤2中将非a.com请求的Url进行替换使得其他流量都经过代理服务器具体为:
当用户在代理服务器上访问目标网站b.com时,Service Worker在fetch事件中拦截到访问目标网站b.com请求,然后将请求的Url替换成a.com/?---b.com/?p=c的Url,并通过await fetch()的API访问替换后的Url。
5.根据权利要求4所述的基于JavaScript hook的新型WEB在线代理方法,其特征在于,在步骤3中,所述后端代理服务器采用openresty,利用lua脚本在access_by_lua_file请求访问阶段从请求a.com/?---b.com/?p=c的Url中提取出b.com/?p=c并将其赋值给proxy_pass,然后在header_filter_by_lua_file阶段对返回头进行同源策略设置操作。
6.根据权利要求5所述的基于JavaScript hook的新型WEB在线代理方法,其特征在于,Service Worker收到返回的数据后对返回头进行设置,以防因为跨域的原因导致客户端无法访问b.com,然后将b.com的内容返回给客户端完成本次代理过程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川长虹电器股份有限公司,未经四川长虹电器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010662640.4/1.html,转载请声明来源钻瓜专利网。