[发明专利]一种网站静态资源防盗链方法有效
申请号: | 201910983265.0 | 申请日: | 2019-10-16 |
公开(公告)号: | CN110708328B | 公开(公告)日: | 2022-04-05 |
发明(设计)人: | 杨开森;任睿 | 申请(专利权)人: | 南京焦点领动云计算技术有限公司 |
主分类号: | H04L9/40 | 分类号: | H04L9/40;H04L67/02;H04L67/568 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 陈建和 |
地址: | 210000 江苏省南京市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 网站 静态 资源 防盗 方法 | ||
1.一种网站静态资源防盗链方法,其特征在于,包括如下步骤:
步骤 1:初始化阶段;按照 Amazon cloudfront 服务配置过程,将网站静态资源域名链接接入 CloudFront;在 CloudFront 处设置静态资源非法访问的错误响应及错误响应缓存时间;在 CloudFront 的白名单标头名单中添加Referer-Host标头;以 HTTP 状态码标识响应状态,所述响应状态包含正确响应和错误响应;所述错误响应分为短期拒绝访问的错误响应和长期拒绝访问的错误响应,所述短期拒绝访问中错误响应的缓存时间比长期拒绝访问中错误响应的缓存时间短;
步骤2:使用 Nodejs 编制 Lambda@Edge 函数并设置函数执行时间;Lambda@Edge 函数获取请求报文中的请求头,并提取请求来源的域名作为Referer-Host标头的内容;通过CloudFront 触发器建立 CloudFront 事件与 Lambda@Edge 函数关联,设置函数在CloudFront接收到用户 http 请求时执行域名提取;
步骤 3:通过Lambda@Edge函数的执行,在请求报文中的请求头中新增自定义Referer-Host标头和标头的内容;
步骤4:根据 Referer-Host 字段内容和请求获取的静态资源,CloudFront 检查缓存区内是否存在对该请求的回应,如若存在,将回应返回至浏览器端;如若不存在,执行步骤5;其中,缓存区中的请求的回应包括错误回应和正确回应,所述错误回应是反馈错误响应的http状态码;所述正确回应是请求获取的静态资源;
步骤 5:根据静态资源域名链接,CloudFront 将资源访问请求转发至静态资源源站点,源站点将 Referer-Host 标头的内容值与本地存储的合法域名进行比对,如在合法域名中找到Referer-Host 标头的内容,则比对成功,请求源域名即请求来源的域名地址合法,返回静态资源;如若在合法域名中没有找到 Referer-Host 标头的内容,继续执行Referer-Host 标头的内容与本地存储的黑名单域名的比对,如若在黑名单域名找到Referer-Host 标头的内容,则请求源域名为恶意域名;如若没有找到,请求源域名为不合法域名;
步骤 6:源站点根据域名类型执行相应操作;针对合法请求源域名,访问视为合法,源站点将用户所需的静态资源返回至 CloudFront,同时在返回的响应头中添加缓存控制字段,所述缓存控制字段为 cache-control,字段内容是静态资源在 CloudFront 中的缓存时间,所述缓存时间根据源站点静态资源的更新周期确定;针对恶意域名,视为非法访问,源站点在返回的响应头中设置长期拒绝访问的错误回应码,针对不合法域名,视为非法访问,源站点在返回的响应头中设置短期拒绝访问的错误回应码;
步骤 7:CloudFront 接收到响应头后,建立静态资源请求与响应间的对应关系,并将对应关系存入 CloudFront 边缘缓存区;根据缓存控制字段内容,将缓存字段指定的缓存时间设为对应关系在 CloudFront 边缘缓存区的缓存时间;
步骤 8:CloudFront 将响应内容发送至 HTTP 客户端,如若是合法访问,将接收到静态资源发送至 HTTP 客户端;如若是非法访问,直接返回错误响应码给 HTTP 客户端;
所述步骤 3 的Lambda@Edge 函数执行过程包括:终端用户通过浏览器访问包含静态资源链接的网页,点击链接触发静态资源访问请求的发送,待浏览器获取到请求转送至CloudFront 时,触发Lambda@Edge 函数执行;Lambda@Edge 函数提取 http 请求头中Referer-Host 标头的内容标头值,对其执行正则处理后得到请求源域名;在 http 请求头中新增 Referer-Host 标头,将得到的请求源域名作为 Referer-Host 标头的内容。
2.如权利要求 1 所述的一种网站静态资源防盗链方法,其特征在于:在所述步骤 1中,所述短期拒绝访问的错误响应是指针对白名单和黑名单中都没有记录的请求源域名做出的反应,缓存时间范围定在 3 天至 7 天;所述长期拒绝访问的错误响应是针对黑名单中记录的请求源域名做出的反应,缓存时间范围定在半年至一年。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京焦点领动云计算技术有限公司,未经南京焦点领动云计算技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910983265.0/1.html,转载请声明来源钻瓜专利网。