2023-09-27 12:52:44 | 我爱编程网
可以基于OSS的防盗链,目前OSS提供的防盗链的方法主要有两种:
设置Referer。控制台,SDK都可以操作,适合不想写代码的用户,也适合喜欢开发的用户;
签名URL,适合喜欢开发的用户。 本文会给一个控制台设置Referer防盗链的具体事例,也会基于PHP SDK给一个动态生成签名URL防盗链的示例。
通过Referer防盗链的具体步骤
第一步:进入 OSS 管理控制台界面。
第二步:单击目标存储空间的名称进入存储空间管理页面。
第三步:单击 Bucket 属性 > 防盗链设置。
第四步:单击“设置”添加白名单网址并设置是否允许其为空。
举例 我爱编程网
对于一个名为test-1-001的存储空间,设置其referer 白名单为 。则只有 referer 为的请求才能访问oss-example这个存储空间中的对象。
签名URL实现步骤
签名URL的原理和实现方法见OSS开发人员指南授权第三方下载。 签名URL的实现步骤:
1、将Bucket的权限设置为私有读;
2、 根据期望的超时时间(签名URL失效的时间)生成签名。
具体实现
第一步:安装PHP最新代码,参考PHP SDK文档;
第二步:实现生成签名URL并将其放在网页中,作为外链使用的简单示例:
第三步:通过浏览器访问 多请求几次会发现签名的URL会变,这是正常的。主要是因为过期时间的改变导致的。这个过期时间是链接失效的时间,是以unix time的形式展示的。 如:Expires=189999,可以将这个时间转换成本地时间。在Linux下的命令为date -d@189999,也可以在网络上找工具自行转换。
特别说明
签名URL可以和Referer白名单功能一起使用。
如果签名URL失效的时间限制在分钟内,盗链用户即使伪造了Referer也必须拿到签名的URL,且必须在有效的时间内才能盗链成功。 相比只使用Referer来说,增加了盗链的难度。 也就是说签名URL配合Referer白名单功能,可以增加防盗链的效果。
防盗链总结,基于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访问日志,能够及时发现盗链活动和验证防盗链方案的有效性。 访问日志参见设置访问日志记录。
php如何防止sql注入攻击?注入式攻击的类型可能存在许多不同类型的攻击动机,但是乍看上去,似乎存在更多的类型。这是非常真实的-如果恶意用户发现了一个能够执行多个查询的办法的话。本文后面,我们会对此作详细讨论。如果你的脚本正在执行一个SELECT指令,那么,攻击者可以强迫显示一个表格中的每一行记录-通过把一个例如=1这样的条件注入到WHERE子句中,如下所示(其中,注入部
php如何做sql过滤php如何做sql过滤SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。因此,在执行sql语句前,一定要对用户输入的数据进行过滤处理。防止sql注入的函数,过滤掉那些非法的字符,提高sql安全
求教ThinkPHP有自带的防止XSS的代码么你好,据我所知,ThinkPHP并没有自带的防止XSS的代码.不过,在PHP上,要想防止XSS,其实很简单,只需要调用一个函数即可:htmlspecialchars()在你的要求输入字符的位置,调用htmlspecialchars()函数即可.希望我的回答能够对你有所帮助.如何正确防御xss攻击传统防御技术2.1.1基于特征
css锚点链接点击后超链接文本消失技术文章>web前端>html教程求助:CSS超链接,选中中再点击其它地方,设置的选中样式就消失了。_html/css_WEB-ITnose2016-06-2412:16:52原创579CSS设置:#pagea:hover{text-decoration:none;color:red;}#pagea:active{text-
什么是前端开发工程师?主要做什么?Web前端,主要是用来开发用户通过浏览器可以浏览和使用的Web页面的。一般而言,所涉及的内容主要包括W3C中的HTML、CSS和JavaScript这三方面的内容。工具/原料:HTML、CSS、JavaScript方法/步骤:1、随着前端的发展,前端开发所涉及到的内容肯定不仅限于这三方面。分析这三个层面内容的本质可以看到,这三个层面分别涉
哪里有关于"海盗"的英文介绍或故事P.S海盗的由来:Thehistoryofpiracydatesbackmorethan3000years,butitsaccurateaccountdependsontheactualmeaningoftheword‘pirate’.InEnglish,thewordpiracyhasmanydifferentmeaningsanditsusageis
php如何做sql过滤php如何做sql过滤SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。因此,在执行sql语句前,一定要对用户输入的数据进行过滤处理。防止sql注入的函数,过滤掉那些非法的字符,提高sql安全
Web中常见的超链接有哪几种?Web中常见的超链接一般分为内部链接,锚点链接和外部链接。1、内部链接是指同一网站域名下的内容页面之间互相链接。如频道、栏目、终极内容页之间的链接,乃至站内关键词之间的Tag链接都可以归类为内部链接,因此内部链接我们也可以称之为站内链接,对内部链接的优化其实就是对网站的站内链接的优化。2、锚点链接HTML中的链接,也叫书签链接。常常用于那些内容庞大
2023-10-08 16:59:01
2023-06-27 20:13:22
2023-10-18 15:31:46
2023-10-18 15:24:14
2023-10-18 15:23:43
2023-10-18 15:16:10