掌桥专利:专业的专利平台
掌桥专利
首页

一种短域名链接生成方法、系统、设备及存储介质

文献发布时间:2024-01-17 01:27:33


一种短域名链接生成方法、系统、设备及存储介质

技术领域

本发明涉及计算机技术领域,具体涉及短域名链接生成方法、系统、设备及存储介质。

背景技术

随着企业业务的发展,很多业务都需要给用户发送包含域名链接的短信或邮件,以进行营销推广,但是由于不同企业的不同系统生成域名链接的规则不相同,生成的域名链接样式五花八门,如一家公司的订单系统、运单系统、增值系统或营销系统等各种系统,生成的域名链接样式不一,难以在推送消息的运营商实现全部备案,使很多包含域名链接的短信被标记为非法消息,无法成功推送给用户,从而影响公司的正常业务。

并且,域名链接往往是为了导航到网站上的某个具体资源,而有些网站的路径比较深,或者涉及参数比较多,导致导航至该网站的域名链接很长,不便于记录和保存。并且,推送消息内容太长,可能会被拆分成多条短信发送给用户,增加了短信发送的成本,破坏了内容的完整性。由于域名链接远远大于短信或邮件的主体内容,当用户收到包含大量域名链接的推送消息时,往往会产生反感,怀疑域名链接的安全性,容易直接忽略掉推送消息,甚至将推送者加入黑名单,屏蔽公司发送的推送消息,影响公司的正常业务。

目前为了使推送消息易于接受,一般是使用支持markdown文本的隐藏超链接的方式推送给用户,比如钉钉个人通知、钉钉群、宝盒(一种即时聊天工具)个人通知、宝盒群等等。但是对于不支持隐藏超链接的推送方式,比如信息或者邮件,目前并无很好的解决办法,使得包含域名链接的推送消息更规范安全或易于接受,无法从根本上满足企业的需求。

发明内容

有鉴于此,本发明的目的在于提供一种短域名链接生成方法、系统、设备及存储介质,以解决现有技术中生成的域名链接过长或不规范,导致包含域名链接的推送消息不安全、不易被客户接受的问题。

根据本发明实施例的第一方面,提供一种短域名链接生成方法,包括:

获取短域名请求指令,所述短域名请求指令中包含原始域名;

对所述短域名请求指令进行解密和接口认证,若认证通过,调用短域名生成接口,生成唯一码;

将所述唯一码和预设的固定域名进行拼接,生成所述原始域名对应的短域名链接。

优选地,所述获取短域名请求指令,包括:

获取所述短域名生成接口分配的权限信息和原始域名;

根据预设加密方法,对所述原始域名和所述权限信息进行加密,得到短域名请求指令。

优选地,所述对所述短域名请求指令进行解密,包括:

按照预设解密方法,对所述短域名请求指令进行解密,识别出对应的密钥名称和签名信息,其中所述签名信息中包含有调用接口地址、调用方式、调用时间和原始域名。

优选地,所述对所述短域名请求指令进行接口认证,包括:

根据所述短域名请求指令的密钥名称和所述短域名生成接口的预设密钥,对所述短域名请求指令进行第一次权限认证;

根据所述短域名请求指令的签名信息和所述短域名生成接口的预设规范,对所述短域名请求指令进行第二次权限认证;

若所述第一次权限认证和所述第二次权限认证均通过,则所述短域名请求指令认证通过。

优选地,所述根据所述短域名请求的签名信息和所述短域名生成接口的预设规范,对所述短域名请求指令进行第二次权限认证,包括:

对所述短域名请求指令的调用接口地址进行认证,判断所述调用接口地址与所述短域名生成接口的预设地址是否一致,若一致,判定所述短域名请求指令的调用接口地址认证通过;

对所述短域名请求指令的调用方式进行认证,判断所述调用方式与所述短域名生成接口的预设调用方式是否一致,若一致,判定所述短域名请求指令的调用方式认证通过。

优选地,所述生成所述原始域名对应的短域名链接,之后,所述方法还包括:

返回所述短域名链接,并将所述短域名链接的唯一码和对应的原始域名作为键值对进行保存。

优选地,所述方法还包括:

获取所述短域名链接;

根据所述短域名链接中的唯一码,确定对应的原始域名,并生成重定向状态码;

返回所述重定向状态码,将所述原始域名作为重定向地址。

根据本发明实施例的第二方面,提供一种短域名链接生成系统,所述系统包括:

指令获取模块,用于获取短域名请求指令,所述短域名请求指令中包含原始域名;

指令认证模块,用于对所述短域名请求指令进行解密和接口认证,若认证通过,调用短域名生成接口,生成唯一码;

指令执行模块,用于将所述唯一码和预设的固定域名进行拼接,生成所述原始域名对应的短域名链接。

根据本发明实施例的第三方面,提供一种短域名链接生成设备,包括:

存储器,其上存储有可执行程序;

处理器,用于执行所述存储器中的所述可执行程序,以实上述任一项所述方法的步骤。

根据本发明实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行上述任一项所述方法的步骤。

本发明的实施例提供的技术方案可以包括以下有益效果:

通过获取短域名请求指令,对短域名请求指令进行解密和接口认证,若认证通过,调用短域名生成接口,生成唯一码,将唯一码和预设的固定域名进行拼接,生成原始域名对应的短域名链接,由于原始域名与短域名链接是对应的,并且生成的短域名链接较规范,当用户需要访问原始域名时,只需要接收到对应的短域名链接,点击短域名链接,会重定向到对应的原始域名,为用户定位到原始域名的地址,使得通过较短的域名链接就可以定位到具体的网页资源,便于用户接受,并且通过接口认证的方式,使得短域名链接对应的原始域名更安全,帮助解决现有技术中生成的域名链接过长或不规范,导致包含域名链接的推送消息不安全、不易被客户接受的问题。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种短域名链接生成方法的流程示意图;

图2是根据一示例性实施例示出的一种短域名链接生成系统的框图示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

域名链接往往是为了导航到网站上的某个具体资源,而有些网站的路径比较深,或者涉及参数比较多,导致导航至该网站的域名链接很长,不便于记录和保存。

本发明提供了一种短域名链接生成方法,参见图1,图1是根据一示例性实施例示出的一种短域名链接生成方法的流程示意图,该方法包括:

步骤S11,获取短域名请求指令,所述短域名请求指令中包含原始域名;

步骤S12,对所述短域名请求指令进行解密和接口认证,若认证通过,调用短域名生成接口,生成唯一码;

步骤S13,将所述唯一码和预设的固定域名进行拼接,生成所述原始域名对应的短域名链接。

具体的,获取短域名请求指令,短域名请求指令用于系统或者请求人利用原始域名申请获取短域名,短域名请求指令中包含有原始域名,即长域名,短域名请求指令为加密后的字符串。一个企业里会有多个系统,为了便于区分和标准化管理,为不同的系统分配不同的权限及日期,通过统一的加密算法,使得短域名请求指令更符合规范,进行权限认证时,也会更加安全,并保证各系统获取短域名的请求不过于频繁。

对短域名请求指令进行解密,获取到该短域名请求的信息。其中短域名请求指令的加密和解密方法相适配,保证解密后的信息与加密前的信息是一致的。解密后,对获取到的该短域名请求的信息进行接口认证,判断该短域名请求指令是否有权限调用短域名生成接口。其中,短域名生成接口为提前编制好的程序包,短域名服务系统提供的固定接口,用于生成短域名。若验证通过,该短域名请求指令有权限调用短域名生成接口,则调用短域名生成接口,生成唯一码。其中唯一码为短域名的唯一身份标识,可以为两段码,也可以为字符、小写英文字母或数字组成的字符串,一个短域名对应一个唯一码,并且各个短域名的唯一码不重复。

将生成的唯一码和预设的固定域名进行拼接,生成该原始域名对应的短域名链接。其中,预设的固定域名与传统的固定域名类似,为向运营商申请得到的固定域名。

在一具体示例中,获取短域名请求指令,其中原始域名为“长域名”,接口认证时采用密钥加动态签名的方式,所以该短域名请求指令为长域名等信息进行sha256加密算法后,进行base64编码获取到的签名信息。通过动态签名解密后,对解密后的信息进行权限认证,若认证通过,生成两段码,两段码由2位和4位的随机码组成,两段码拼接后的字符串组成唯一码,之后验证唯一码的唯一性,若系统中不存在该唯一码,则为该短域名请求指令分配生成的唯一码。该系统中已经存在该唯一,则舍弃该唯一码,继续相同的方法生成2位和4位的随机码,组成唯一码,直至系统中不存在此次生成的唯一码。最后,两段码拼接后的的唯一码作为key,长域名作为value存储到redis里,最后把短域名服务系统的预设的固定域名+两段码拼接的唯一码作为短域名返回。其中sha256是Secure Hash Algorithm安全密码散列函数家族的一种算法,对与任意长度的消息,sha256都会产生一个256为的hash值、

可以理解的是,本实施例提供的技术方案,通过获取短域名请求指令,对短域名请求指令进行解密和接口认证,若认证通过,调用短域名生成接口,生成唯一码,将唯一码和预设的固定域名进行拼接,生成原始域名对应的短域名链接,由于原始域名与短域名链接是对应的,并且生成的短域名链接较规范,当用户需要访问原始域名时,只需要接收到对应的短域名链接,点击短域名链接,会重定向到对应的原始域名,为用户定位到原始域名的地址,使得通过较短的域名链接就可以定位到具体的网页资源,便于用户接受,并且通过接口认证的方式,使得短域名链接对应的原始域名更安全,帮助解决现有技术中生成的域名链接过长或不规范,导致包含域名链接的推送消息不安全、不易被客户接受的问题。

优选地,步骤S11中,所述获取短域名请求指令,包括:

获取所述短域名生成接口分配的权限信息和原始域名;

根据预设加密方法,对所述原始域名和所述权限信息进行加密,得到短域名请求指令。

需要说明的是,由于短域名请求指令为加密后的字符串,对于需要短域名服务的企业系统,要先获取短域名生成接口的权限,才能生成短域名请求指令。

具体的,获取短域名生成接口分配的权限信息和原始域名,其中原始域名为要转换成短域名的长域名,短域名生成接口分配的权限信息为短域名生成接口与企业系统提前约定的信息。根据预设的加密算法,对原始域名和权限信息进行加密,得到短域名请求指令。通过加密算法对短域名请求的原始信息和权限信息进行加密,使得获得的短域名请求指令更加安全,防止被篡改等现象发生。

在一示例中,假设短域名生成接口的地址为:http://xx.xxx.com/api/v1/basicservice/sUrl,则路径(path)为/api/v1/basicservice/sUrl,短域名生成接口的调用方法为POST方式,时间格式字符串格式要求如“2023-03-15 12:57:45”,短域名生成接口的密钥名称是自定义的唯一名称,密钥是uuid生成器生成的一组32位16进制数字,如“b0e4cb1b-2524-4f8e-9030-1bed12795c33”。将上述短域名生成接口的信息分配给需要短域名服务的企业系统,短域名请求指令的请求人根据预设的密钥加动态签名的方式,获取签名信息。假设预设的动态签名方法为先进行sha256加密,再进行base64编码获取签名信息。短域名生成接口的POST参数为{"url":"长域名"},则params为{"url":"长域名"},然后把密钥名称、签名信息和时间分别放到短域名请求指令的header里,得到短域名请求指令。

在短域名链接生成系统中,创建一个密钥给用户时,会关联这个密钥允许访问的接口列表,当用户带着密钥访问某个接口时,短域名链接生成系统会验证这个密钥是否允许访问该接口,如果不允许访问该接口时会返回状态码403,权限不足,如果允许访问该接口,就生成短域名。

优选地,步骤S12中,所述对所述短域名请求指令进行解密,包括:

按照预设解密方法,对所述短域名请求指令进行解密,识别出对应的密钥名称和签名信息,其中所述签名信息中包含有调用接口地址、调用方式、调用时间和原始域名。

需要说明的是,对短域名请求指令进行解密的方法与加密方法相适配,本发明对此并不做具体限定。

具体的,按照预设解密方法,对短域名请求指令进行解密,识别出对应的密钥名称和签名信息,其中签名信息中包含有调用接口地址、调用方式、调用时间和原始域名。

优选地,其中步骤S12中,所述对所述短域名请求指令进行接口认证,包括:

S121,根据所述短域名请求指令的密钥名称和所述短域名生成接口的预设密钥,对所述短域名请求指令进行第一次权限认证;

S122,根据所述短域名请求指令的签名信息和所述短域名生成接口的预设规范,对所述短域名请求指令进行第二次权限认证;

若所述第一次权限认证和所述第二次权限认证均通过,则所述短域名请求指令认证通过。

需要说明的是,对短域名请求指令进行接口认证,是对短域名请求指令进行权限认证,判断其是否有调用短域名生成接口的权限。

具体的,根据短域名请求指令中的密钥名称,和短域名生成接口中分配给原始域名的预设密钥,对短域名请求指令进行第一次权限认证,判断短域名请求指令解密后的密钥名称是否在白名单中。白名单是短域名链接生成系统在颁发密钥给短域名需求方的时候,配置只允许该密钥调用短域名生成接口的权限,若解密后的密钥名称与预设密钥名称一致,则在白名单中,第一次权限认证通过。通过第一次权限认证,可以避免短域名需求方越权调用,并且必要时可以关闭该密钥的短域名生成功能。

根据短域名请求指令的签名信息和短域名生成接口的预设规范,对短域名请求指令进行第二次权限认证;其中短域名生成接口的预设规范为预先设定好的规范或权限,只有满足预设规范,短域名请求指令第二次权限认证才能通过。

若第一次权限认证和第二次权限认证均通过,则短域名请求指令认证通过。若第一次权限认证或者第二次权限认证有一次未通过,则短域名请求指令认证不通过。

优选地,所述步骤S122中,所述根据所述短域名请求的签名信息和所述短域名生成接口的预设规范,对所述短域名请求指令进行第二次权限认证,包括:

对所述短域名请求指令的调用接口地址进行认证,判断所述调用接口地址与所述短域名生成接口的预设地址是否一致,若一致,判定所述短域名请求指令的调用接口地址认证通过;

对所述短域名请求指令的调用方式进行认证,判断所述调用方式与所述短域名生成接口的预设调用方式是否一致,若一致,判定所述短域名请求指令的调用方式认证通过。

具体的,短域名请求指令的签名信息中包含有调用接口地址、调用方式、调用时间和原始域名,对短域名请求指令的调用接口地址进行认证,判断对应的调用接口地址与短域名生成接口的预设地址是否一致,若一致,判定短域名请求指令的调用接口地址认证通过。

对短域名请求指令的调用方式进行认证,判断对应的调用方式与短域名生成接口的预设调用方式是否一致,若一致,判定短域名请求指令的调用方式认证通过。

当短域名请求指令的调用接口地址认证和调用方式认证都通过,对短域名请求指令的第二次权限认证通过,当短域名请求指令的调用接口地址认证或调用方式认证有任一不通过,对短域名请求指令的第二次权限认证不通过。

需要说明的是,还可以对时间进行认证,判断对应的调用时间是否在预设的时间权限内,若超出时间权限,对短域名请求指令的第二次权限认证也不通过。

优选地,步骤S14中,所述生成所述原始域名对应的短域名链接,之后,所述方法还包括:

返回所述短域名链接,并将所述短域名链接的唯一码和对应的原始域名作为键值对进行保存。

具体的,生成原始域名对应的短域名链接之后,返回短域名链接,并将短域名链接的唯一码和对应的原始域名作为键值对进行保存。

需要说明的是,对上述键值对可以保存至redis存储,对存储可以设置有效期,比如7*24小时。一般考虑到短域名链接的有效期场景为7天,该有效期可以根据实际场景做调整,一般不会永久驻留在redis存储里。

优选地,所述方法还包括,获取所述短域名链接;

根据所述短域名链接中的唯一码,确定对应的原始域名,并生成重定向状态码;

返回所述重定向状态码,将所述原始域名作为重定向地址。

具体的,企业把生成的短域名链接放到短信或邮件等消息里,通过短信或邮件等运营商发生给用户;用户收到短信或邮件或其他方式推送的消息,点击消息里的短域名链接;短域名链接生成系统响应短域名链接,由于短域名链接的唯一码和对应的原始域名保存在系统里,根据短域名链接中的唯一码,确定对应的原始域名,重定向到原始域名给用户;通过http响应的重定向状态码,即301状态码,重定向到域名上,用户浏览器会自动重定向到原始域名,访问到原始域名对应的资源,完成对指定的页面资源的浏览。

在一具体示例中,用户获取到短域名链接,例如http://xx.xxx.com/ab/djf3;通过访问短域名链接,会定位到短域名链接生成系统,短域名链接生成系统通过openresty开发一些插件来获取用户请求过来的url路径,例如http://xx.xxx.com/ab/djf3;然后经过字符串处理获取到2段码“ab/djf3”;其中openresty是一种高效的web服务组件,该过程使用lua进行实现。短域名链接生成系统获取到“ab/djf3”后,将“ab/djf3”作为key到redis存储里获取短域名链接生成时放入的原始域名地址;获取到原始域名地址后,该原始域名地址就作为重定向的地址redirect_uri,通过ngx.redirect(redirect_uri,301)返回给用户,即状态码为301和重定向的原始域名地址。用户的浏览器遇到301状态码,重定向到原始域名地址,从而为用户定位到原始域名的资源上来;最终用户访问到长域名的资源。

需要说明的是,域名链接重定向使用的是高效的openresty+lua实现。并且,域名重定向的整个过程记录成日志,作为日后用户浏览网页的数据分析的基础。

可以理解的是,本实施例提供的技术方案,通过获取短域名请求指令,对短域名请求指令进行解密和接口认证,若认证通过,调用短域名生成接口,生成唯一码,将唯一码和预设的固定域名进行拼接,生成原始域名对应的短域名链接,由于原始域名与短域名链接是对应的,并且生成的短域名链接较规范,当用户需要访问原始域名时,只需要接收到对应的短域名链接,点击短域名链接,会重定向到对应的原始域名,为用户定位到原始域名的地址,使得通过较短的域名链接就可以定位到具体的网页资源,便于用户接受,并且通过接口认证的方式,使得短域名链接对应的原始域名更安全,帮助解决现有技术中生成的域名链接过长或不规范,导致包含域名链接的推送消息不安全、不易被客户接受的问题。

参见图2,图2是根据一示例性实施例示出的一种短域名链接生成系统的框图示意图,所述系统包括:

指令获取模块21,用于获取短域名请求指令,所述短域名请求指令中包含原始域名;

指令认证模块22,用于对所述短域名请求指令进行解密和接口认证,若认证通过,调用短域名生成接口,生成唯一码;

指令执行模块23,用于将所述唯一码和预设的固定域名进行拼接,生成所述原始域名对应的短域名链接。

可以理解的是,本实施例提供的技术方案,由于通过上述实施例提及的获取短域名请求指令,对短域名请求指令进行解密和接口认证,若认证通过,调用短域名生成接口,生成唯一码,将唯一码和预设的固定域名进行拼接,生成原始域名对应的短域名链接,由于原始域名与短域名链接是对应的,并且生成的短域名链接较规范,当用户需要访问原始域名时,只需要接收到对应的短域名链接,点击短域名链接,会重定向到对应的原始域名,为用户定位到原始域名的地址,使得通过较短的域名链接就可以定位到具体的网页资源,便于用户接受,并且通过接口认证的方式,使得短域名链接对应的原始域名更安全,帮助解决现有技术中生成的域名链接过长或不规范,导致包含域名链接的推送消息不安全、不易被客户接受的问题。

本发明还提供了一种短域名链接生成设备,包括:

存储器,其上存储有可执行程序;

处理器,用于执行所述存储器中的所述可执行程序,以实现上述任一项所述方法的步骤。

此外,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行上述任一项所述方法的步骤。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

相关技术
  • 一种基于无线连接的域名屏蔽方法、设备及存储介质
  • 一种数据血缘的生成方法、系统、电子设备和存储介质
  • 域名解析方法、网络终端及域名解析系统及存储介质
  • 一种APP的自动生成方法、装置、终端设备及可读存储介质
  • 一种三维水电预埋图的生成方法、装置、设备及存储介质
  • 一种短链接生成方法、解析方法和系统、设备、存储介质
  • 一种短链接生成方法、解析方法和系统、设备、存储介质
技术分类

06120116226983