### URL鉴权 url鉴权过滤器适用时API类防cc攻击。需要与客户端配合,cdn定义一个密钥,客户端md5如uri,时间戳,随机数,密钥,得出的值传给cdn验证,验证失败到一定次数将拉黑这个IP。URL鉴权提供两种鉴权方式,A和B。 * 方式A URL格式为http://DomainName/FileName?sign=md5hash&t=timestamp timestamp为当前时间戳,如1598342331,md5hash为md5(密钥+uri+时间戳),其中密钥为在cdn定义好的密钥,uri为不带参数的路径,且要转为**小写**再做md5,如/filename,时间戳为1598342331(精确到秒就行) 方式A的设置如下 ![](https://img.kancloud.cn/db/9b/db9b9304858936cbf566b7ff51d6ec48_894x964.png) **n秒内,最大失败次数**\- 即如果在60秒内,验证失败超过5次的话,拉黑IP **鉴权方式**\- 这里选TypeA **密钥**\- 与其它数据一起md5得到的hash,客户端同样使用这里定义的密钥来md5 **签名参数名**\- 默认为sign **时间戳参数名**\- 默认t **最大时间相差(秒)**\- 允许上下相关多少秒,超过此范围签名认为无效 **签名使用次数**\- 带同一个签名的url允许访问的次数,0为不限制,越过限制则拉黑IP * 方式B URL格式为http://DomainName/Filename?sign=timestamp-rand-uid-md5hash timestamp为当前时间戳,如1598342331,rand为随机字符串,uid用户id暂时不用,设置为0,md5hash为md5(uri-时间戳-随机数-uid-密钥),uri转为小写再md5 方式B设置如下: ![](https://img.kancloud.cn/8a/1f/8a1fda4c01287ee0c8fec346207eb858_960x868.png) 方式B与方式A的设置不一样的方式在于,方式B不需要传时间戳的参数,因为已经包括在签名参数里了。 其中的设置与方式A一样。