网站建设中,很多网站都会遇到盗链的问题,包括图片盗链、音乐或视频文件如何设置防盗链来避免这样情况的发生, 本文适用那些在网页中使用了OSS资源作为外链的用户。
相信很多朋友都曾遇到过网站内文件特别是图片被盗链的情况烦。我们下面就是对这个问题来分析一下原理和解决方法。所谓盗链:是指对方网站直接链接您网站上的文件,而不是将其置于自己的服务器上,一般而言,盗链的对象大多为较耗带宽的大体积文件,如图片、视频等,从某种意义上说,这事实上造成了让您为其访问流量买单:不仅您的服务器带宽被无任何回报地占用,而且,往往会在很大程序上影响您网站的访问速度。
目前OSS提供的防盗链的方法主要有两种:
设置Referer。控制台,SDK都可以操作,适合不想写代码的用户,也适合喜欢开发的用户,签名URL,适合喜欢开发的用户。 本文会给一个控制台设置Referer防盗链的具体事例,也会基于PHP SDK给一个动态生成签名URL防盗链的示例。
通过Referer防盗链的具体步骤:
第一步:进入 OSS 管理控制台界面。
第二步:单击目标存储空间的名称进入存储空间管理页面。
第三步:单击 Bucket 属性 > 防盗链设置。
第四步:单击“设置”添加白名单网址并设置是否允许其为空。
第五步:单击“提交”保存对防盗链的设置。
基于OSS的防盗链最佳实践点如下:
使用三级域名URL,例如referer-test.oss-cn-hangzhou.aliyuncs.com/aliyun-logo.png,安全性比绑定二级域名更高。三级域名方式能够提供Bucket级别的清洗和隔离,能够应对被盗链后的流量暴涨的情况,也能避免不同Bucket间的互相影响,最终提高业务可用性;如果使用自定义域名作为连接,CNAME也请绑定到三级域名,规则是bucket + endpoint。假如你的bucket名为test,三级域名则为test.oss-cn-hangzhou.aliyuncs.com;对Bucket设定尽可能严格的权限类别。例如提供公网服务的Bucket设置为public-read或private,禁止设置为public-read-write。Bucket权限参见访问控制;对访问来源进行验证,根据需要设置合适的Referer白名单;如果需要更严格的防盗链方案,请参考签名的URL方案;记录Bucket访问日志,能够及时发现盗链活动和验证防盗链方案的有效性。 访问日志参见设置访问日志记录。
上一篇: 域名备案和网站备案的四大流程信息
下一篇: 常见的网站动态图片制作技巧
点击查看详细
点击查看详细
点击查看详细
点击查看详细
点击查看详细
点击查看详细
点击查看详细
点击查看详细
点击查看详细
点击查看详细