美文网首页
Web安全 之 防盗链

Web安全 之 防盗链

作者: 诺之林 | 来源:发表于2018-04-24 18:59 被阅读39次

本文环境基于Ubuntu1604

目录

站点A

vim /home/saas/hotlink/a.html
<!doctype html>
<html lang="zh-CN">
<head>
    <title>a</title>
</head>
<body>
    <div>a</div>
    <img src="http://s.hotlink.test/hotlink-success.png" alt="hotlink-success.png" />
</body>
</html>

站点B

vim /home/saas/hotlink/b.html
<!doctype html>
<html lang="zh-CN">
<head>
    <title>b</title>
</head>
<body>
    <div>b</div>
    <img src="http://s.hotlink.test/hotlink-success.png" alt="hotlink-success.png" />
</body>
</html>

静态资源

这里 我们使用文字在线转图片_改图吧生成两张测试用的静态资源图片

  • 正常访问到的图片
hotlink-protection-01.png
  • 防盗链返回的图片
hotlink-protection-02.jpeg

注意: 防盗链返回的图片后缀名是.jpeg 可以在这里转换图片格式转换

接着 将上述两张图片放至/home/saas/hotlink/文件夹下

Nginx配置

sudo vim /etc/nginx/sites-enabled/hotlink.conf
server {
    listen 80;
    server_name a.hotlink.test;

    root /home/saas/hotlink;

    location / {
        try_files /a.html $uri;
    }
}

server {
    listen 80;
    server_name b.hotlink.test;

    root /home/saas/hotlink;

    location / {
        try_files /b.html $uri;
    }
}

server {
    listen 80;
    server_name s.hotlink.test;

    root /home/saas/hotlink;

    location ~ .(gif|png|jpg)$ {
        valid_referers none blocked a.hotlink.test *.a.hotlink.test s.hotlink.test *.s.hotlink.test;
        if ($invalid_referer) {
            rewrite (.*)\.(gif|png|jpg)$ http://s.hotlink.test/hotlink-warning.jpeg;
        }
    }
}

注意: 这里rewrite资源的后缀名".jpeg"不能和"location ~ .(gif|png|jpg)$"相冲突 详细参考nginx图片防盗链配置方法

sudo nginx -t 

sudo nginx -s reload

测试

sudo sh -c "echo '192.168.56.222 a.hotlink.test' >> /etc/hosts"

sudo sh -c "echo '192.168.56.222 b.hotlink.test' >> /etc/hosts"

sudo sh -c "echo '192.168.56.222 s.hotlink.test' >> /etc/hosts"
hotlink-protection-03.png hotlink-protection-04.png

参考

相关文章

  • Web安全 之 防盗链

    本文环境基于Ubuntu1604 目录 站点A 站点B 静态资源 Nginx配置 测试 站点A 站点B 静态资源 ...

  • iOS 图片防盗链设置

    防盗链作用: 规定用户在指定App或者web端才能浏览图片,其他途径无法打开图片,也可以保证图片安全性,不被非法分...

  • web安全深度学习实战

    《web安全之深度学习实战》是作者刘焱《Web安全之机器学习入门》之后又一作品。讲解了11个使用机器学习技术解决实...

  • web安全

    1、初步认识web安全:` - 安全与安全圈 - web应用与web安全的发展 - web安全隐患与本质...

  • face 30web资源防盗链

    web资源防盗链 什么是防盗链 盗链是指在自己的页面上展示一些并不在自己服务器上的内容 常见的是小站盗用大战的图片...

  • Web 安全入门之常见攻击

    Web 安全入门之常见攻击 搞 Web 开发离不开安全这个话题,确保网站或者网页应用的安全性,是每个开发人员都应该...

  • web资源防盗链

    一、什么是防盗链? 1、盗链概念盗链是指在自己的网站上展示一些并不在自己服务器上的内容获得他人服务器上的资源,绕过...

  • Web常用攻击手段-CSRF攻击

    上一篇 <<

  • Web安全 之 限流

    本文示例基于Laravel框架 代码参考security-rate-limiting 目录 开始 Controll...

  • Web安全之XSS

    什么是XSS 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading St...

网友评论

      本文标题:Web安全 之 防盗链

      本文链接:https://www.haomeiwen.com/subject/jptmcftx.html