防盗链

目录

设置防盗链

查看防盗链

删除防盗链

防盗链功能可以防止您在OSS上的数据被其他人盗链而产生额外费用。通过设置referer白名单,用户将只能通过指定的域名访问OSS存储桶,并且可以将访问协议限制为http或https。

设置防盗链

使用以下代码设置防盗链:

            import oss

            # 设置基本信息
            APIKey = '<your_API_key>'
            APIKeySecrete = '<your_API_key_secrete>'
            EndPoint = 'oss.cn-north-3.inspurcloudoss.com'
            BucketName = '<your_bucket_name>'
            # <your_object_name>需包含目录及文件名后缀,如:“img/my_photo.png”
            ObjectName = '<your_object_name>'

            # 使用API密钥来获取管理权限,获得方式在控制台右上角用户头像->API密钥
            auth = oss.Auth(APIKey, APIKeySecrete)

            # 使用密钥, 节点来初始化储存信息,这里以华北三为案例
            bucket = oss.Bucket(auth, EndPoint, BucketName)

            # 创建防盗链白名单,这里以浪潮官网为例
            Referer = oss.BucketReferer(True, ['http://*.inspur.com'])

            # 上传防盗链
            Bucket.put_bucket_referer(Referer)

查看防盗链

使用以下代码查看防盗链:

            import oss

            # 设置基本信息
            APIKey = '<your_API_key>'
            APIKeySecrete = '<your_API_key_secrete>'
            EndPoint = 'oss.cn-north-3.inspurcloudoss.com'
            BucketName = '<your_bucket_name>'
            # <your_object_name>需包含目录及文件名后缀,如:“img/my_photo.png”
            ObjectName = '<your_object_name>'

            # 使用API密钥来获取管理权限,获得方式在控制台右上角用户头像->API密钥
            auth = oss.Auth(APIKey, APIKeySecrete)

            # 使用密钥, 节点来初始化储存信息,这里以华北三为案例
            bucket = oss.Bucket(auth, EndPoint, BucketName)

            # 获取存储桶防盗链信息
            ref = bucket.get_bucket_referer()
            print('Allow empty referer = [0], referers = [1]'.format(ref.allow_empty_referer,
                                                                        ref.referers))

删除防盗链

使用以下代码删除防盗链:

            import oss

            # 设置基本信息
            APIKey = '<your_API_key>'
            APIKeySecrete = '<your_API_key_secrete>'
            EndPoint = 'oss.cn-north-3.inspurcloudoss.com'
            BucketName = '<your_bucket_name>'
            # <your_object_name>需包含目录及文件名后缀,如:“img/my_photo.png”
            ObjectName = '<your_object_name>'

            # 使用API密钥来获取管理权限,获得方式在控制台右上角用户头像->API密钥
            auth = oss.Auth(APIKey, APIKeySecrete)

            # 使用密钥, 节点来初始化储存信息,这里以华北三为案例
            bucket = oss.Bucket(auth, EndPoint, BucketName)

            # 删除防盗链
            bucket.delete_bucket_referer()