当前位置:首页 > 建站 > 正文内容

何为防盗链以及如何设置防盗链(宝塔设置防盗链)

xuwenyan12个月前 (12-20)建站337

我们在访问一些网站的时候,特别是一些博客网站,往往会看到一些图片加载不出来(一般就是一张裂开的图标样式),除服务器问题导致图片丢失外,还有一个原因防盗链起了作用,这就是所谓的盗链。要想了解防盗链,我们先来了解一下什么叫做盗链。

什么是盗链

盗链就是直接获取别人网页的资源链接在自己的网页上展示,从而到达绕过别人的展示页面,在自己的页面上向用户提供此内容的展示。通常情况下被盗链的一般都是图片、音乐、视频、软件等资源。通过这种盗链手段可以大大减轻自己的服务器压力。

比如在本地建立一个html文件(盗链.html),直接使用本站的图片链接

<html>
    <img src="/zb_users/upload/2021/04/image-1.png"/>
</html>

我们预想是可以正常展示本站的这张图片,然而因为本站做了一些简单的防盗链处理,所以图片在外站无法正常展示。

原图:



实际展示:



什么是防盗链

理解了盗链,防盗链就很好理解了,防盗链就是防止盗链。

防盗链的基本原理

通过Refer或者签名,网站可以检测目标网页访问的来源网页。如果是资源文件,则可以追踪到显示他的网页地址,一旦检测到来源不是本站,即进行阻止或者返回指定的页面。

传统的防盗链配置

nginx配置(文件):

location ~.*.(gif|jpg|png|flv|swf|rar|zip)$
{
    valid_referers none blocked test.com *.test.com;   //加none的目的是确保浏览器可以直接访问资源
    if($invalid_referer)
    {
        #return 403;  // 直接返回403
        rewrite ^/ http://www.test.com/403.jpg;//返回指定提示图片
    }
}

nginx配置(目录):

location /images/
{
    valid_referers none blocked test.com *.test.com;
    if($invalid_referer)
    {
        #return 403;
        rewrite ^/ http://www.test.com/403.jpg;
    }
}

apache配置:

#防盗链配置
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !xuwenyan.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !xuwenyan.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !www.xuwenyan.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !www.xuwenyan.com/.*$ [NC]
RewriteRule .*.(gif|png|jpg|swf)$ http://www.xuwenyan.com/404 [R,NC,L]

宝塔防盗链设置



上述只是传统的防盗链设置,由于部分代理服务器并不会设置Refer,Refer是可以手动修改的,换言之Refer可以伪造的,所以传统的防盗链设置并不是完全安全的,当然应付一般的盗链是住够的。

    文章作者:xuwenyan
    版权声明:本文为本站原创文章,转载请注明出处,非常感谢,如版权漏申明或您觉得任何有异议的地方欢迎与本站取得联系。

    扫描二维码推送至手机访问。

    版权声明:本文由艺文笔记发布,如需转载请注明出处。

    本文链接:https://www.xuwenyan.com/archives/2306

    分享给朋友:

    “何为防盗链以及如何设置防盗链(宝塔设置防盗链)” 的相关文章

    Word Press获取文章发布时间并生成归档日期链接

    Word Press获取文章发布时间并生成归档日期链接

    Word Press获取当前文章发布时间,获取当前文章发布时间归档链接 发布日期获取 <pre class="wp-block-code">$year = get_the_time( ‘Y’ );$month = get_the_time( ‘m’ );$da...

    Word Press如何按分类在文章页面增加上一篇下一篇翻篇按钮

    Word Press如何按分类在文章页面增加上一篇下一篇翻篇按钮

    我们在阅读别人的Word Press博客文章时会发现,底部常常有上一篇、下一篇按钮,这两个按钮对于对你博客文章感兴趣的读者来说是非常友好的。那么如何在Word Press添加上一篇、下一篇翻篇按钮呢? 你只需要在single.php中你认为显示效果比较好的地方添加以下代码即可: <pr...

    如何实现Word Press文章底部相关文章推荐?

    如何实现Word Press文章底部相关文章推荐?

    如何实现Word Press相关文章推荐?推荐一个比较好用的插件:Yet Another Related Posts Plugin (YARPP),可以在管理后台插件商城搜索到。 使用这款插件后,就可以自动在你的文章底部自动添加相关的文章推荐了,有助提高博客文章的阅读量。 插件功能:...

    Word Press如何实现显示摘要、增加阅读更多按钮

    Word Press如何实现显示摘要、增加阅读更多按钮

    Word Press如何实现显示摘要、增加阅读更多按钮。前提条件是主题必须支持,如果主题不支持得通过别的方法实现,下面的方法只在主题支持的前提下有用。 手动添加摘要显示 在你需要显示的摘要内容后加入一个'更多'控件即可,每个主题添加更多控件的方式可能不同,下面是我添加的方法,大家可以参...

    已经备案的域名主机更换之后需要重新备案吗?

    已经备案的域名主机更换之后需要重新备案吗?

    ICP备案备案一般是由我们的域名服务器商协助办理备案的,比如我们的域名是在腾讯云购买的,那么一般就是选择在腾讯云办理备案,那么腾讯云也是我们的备案接入商了。那么如果因为某种原因更换了服务器主机后是否需要重新备案域名呢?主要分以下三种情况: 1:更换的服务器主机属于同一个服务商 比如我们...

    Word Press如何在后台安装、使用、卸载插件?

    Word Press如何在后台安装、使用、卸载插件?

    Word Press介绍 WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。WordPress是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语...